我正在从一个 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,它不受某些行长度差异的影响。我可以用熊猫数据框做些什么来读取不完整的行,还是我必须求助于一个列表?
提前致谢!
丹协助后的版本:
我在试验 Dan 的方向后发现的一件事——如果使用迭代器/块方法,来自帖子:
但是您希望使用 usecol (在我的情况下是因为内存问题),可以在 pd.concat 行中选择列:
txtdata=pd.concat([chunk[txtcolnames] for chunk in tdata1],ignore_index=True)