首页 > 代码库 > 数据清洗记录2

数据清洗记录2

爬虫爬下来的数据,有个字段含有大量脏数据,如图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 处理结果

 

数据清洗记录2