数据清洗记录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 处理结果

 

转载于:https://www.cnblogs.com/coskaka/p/6107646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值