我正在从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)