标签:字段 没有 and lazy read apply parse rom auto
爬虫爬下来的数据,有个字段含有大量脏数据,如图1所示,现在需要提取出“红色框”中的“作者机构名称”。
一开始用的excel,替换、分类、按照模式的快速填充各种都用上了,但是,数据量太大了(有上万条,辛苦机器性能还行)而且你懂得,人工操作肯定有误操作而且分列啥的这些功能适应新不怎么强,结果,弄了小半天终于完整地清洗完毕。
下文提供两种方法:1、excel中清洗;2、pandas+正则表达式
图1
图2
方法1:
略过
方法2:
pandas 凭借其强大的能力,分分钟处理完毕,而且没有任何小问题。
#代码如下: __author__ = ‘Oscar_Yang‘ # -*- coding= utf-8 -*- import re import pandas as pd path=r"C:\Users\Oscar\Desktop\1.xlsx" path1=r"C:\Users\Oscar\Desktop\2.xlsx" xls_file=pd.ExcelFile(path) table=xls_file.parse("Sheet1") #或者table=pd.read_excel(path) s1=table.jigou.fillna("Missing") # print(s1) # print(table) def get_clean_table(a): p = re.compile("\[.*?,") c = [x.split(",")[0] for x in p.findall(a)] return c a=s1.apply(get_clean_table) new_frame=pd.DataFrame(a) # print(a) writer = pd.ExcelWriter(path1) new_frame.to_excel(writer,‘Sheet1‘) writer.save()
图3 处理结果
标签:字段 没有 and lazy read apply parse rom auto
原文地址:http://www.cnblogs.com/coskaka/p/6107646.html