数据清洗:关于正则式匹配后的替换
2017-02-28 16:51 kopo_C 阅读(50) 评论(0) 收藏 举报帮同事忙,从doc文档中抽取各个地方的景区名称。这份文档比较奇怪,在分省份之后还在各个省份中添加首字母备注,这样抽取难度就比较大一点。虽然可以把26个字母写入一个列表里进行循环替换,但这太不符合我喜欢的程序风格:简洁。后来我就使用了正则式查询与替换。
之前做过正则式查询的任务,但对于 替换一直懒得去看,在网上搜索了一下,发现了这个博客,上面介绍了一些替换的方案,在这里我使用了re.subn(re, newString, text)这个函数;来进行匹配后的替换。返回两个值,前者是结果,后者是查询到的数目。相关代码如下:
import re fp = open("new_address", "r") text = fp.readlines()#.encode("utf-8") buff = "" for line in text: buff = buff + line buff = buff.replace("\n", "").replace(" ", "") result, number = re.subn(r'\[[A-Z]\]\,', "", buff) fp.close() with open("clean.txt", "w+") as fp: fp.writelines(result)
我把文件存在了caipu2MySQL中,当自己忘记时运行一下程序即可。
浙公网安备 33010602011771号