【发布时间】:2017-08-25 01:49:41
【问题描述】:
我在CSV 文件中有一个数据集,该文件从会计应用程序下载到CSV 文件中。数据的结构方式很好,除了它被分成几页。因此,CSV 文件包含不需要的垃圾行:
Company:ABC Ltd Date: 30-Mar-2017
GL Download
Page No 1
GL Code,GL Name,Journal Id,Amount $,Vendor,Vendor Code,Text
1001200,SalesUK,5060400604,1,234.34,GroveT,234565,FC approved
更多数据在这里......
Company:ABC Ltd Date: 30-Mar-2017
GL Download
Page No 2
GL Code,GL Name,Journal Id,Amount $,Vendor,Vendor Code,Text
34560432,SalesUK,5060434567,4,356.19,Legend,135678,checked
每次到达分页符时,标题都会重复。我正在尝试将数据从CSV 文件上传到pandas.DataFrame,但问题在于我需要删除的那些分页符和重复的标题。
pandas 或 python csv 模块中是否有标准解决方案来克服数据行,例如页码和页眉?
【问题讨论】:
-
如果您知道(或可以计算)攻击性数据的确切行号,您可以告诉
pandas.read.csv()忽略这些行。 -
@DYZ 你的意思是
pd.read_csv(filepath)?你能澄清一下如何帮助摆脱垃圾线吗?我认为 read_csv 构造函数中的skip_blank_rows可能会有所帮助,但它只会跳过空白行。在我的情况下,垃圾行中的一些单元格被填充。除了这个问题,我还在每一页上重复了标题。 -
是的,我的意思是
read_csv,抱歉打错了。查看skiprows选项。但我想一个更好的解决方案是将error_bad_lines设置为False,然后从数据框中删除“脏”行。