在pandas中使用read_csv来读取不完整的行

时间:2013-09-09 19:33:54

标签: python csv pandas dataframe

我正在从csv文件创建许多pandas数据帧,每个数据帧超过50k行。每行有45个字段。在这个过程中,我偶尔会遇到超过45个字段的行。要使用这些数据,我找到的唯一选择是跳过带有“error_bad_lines”的行,即

devdata=pd.read_csv(devfile,sep="|",error_bad_lines=False, names=devcolnames,usecols=[0,5,6,8,25])

我只对五个字段感兴趣,其中最后一个是25,不受某些行长度差异的影响。有没有什么我可以用pandas数据框来读取甚至不完整的行,或者我必须求助于列表?

提前致谢!

丹的帮助之后的版本:

我在尝试使用Dan的方向后发现了一件事 - 如果使用了迭代器/块方法,请从帖子中找到:

large persistent dataframe in pandas

但是你希望使用usecol(在我的情况下是因为内存问题),可以在pd.concat行中选择列:

txtdata=pd.concat([chunk[txtcolnames] for chunk in tdata1],ignore_index=True)

0 个答案:

没有答案