Pandas.read_csv()忽略包含较少字段的错误行/行。文本文件

2024-06-25 22:55:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试阅读这个巨大的文本文件:https://www.dropbox.com/s/3ikikw8bxde6y1i/TCAD_SPECIAL%20EXPORT_2019_20200409.zip?dl=0(如果你下载zip,这个文件是Special_ARB.txt(对于我的问题不是必需的)

我正在运行这段代码(添加error_bad_lines=False)以忽略包含超出预期字段的行,这很好:

pd.read_csv(r'~/Special_ARB.txt', sep="|", 
            header=None,encoding='cp1252',error_bad_lines=False)

问题是read.csv()在一行只有1个字段时崩溃。错误如下:

Too many columns specified: expected 77 and found 1

有没有办法告诉python/pandas忽略这个错误?它不会让我知道它是哪一行。有超过一百万行,所以我无法自己找到它

  • 我尝试了一个for循环来逐行读取数据并从中找出答案,但数据太大,python崩溃了
  • 列的数量是77,熊猫在运行代码时可以正确识别,我认为这不是问题

谢谢


Tags: csv代码httpstxtfalsereadwww错误
2条回答
try:
   pd.read_csv(r'~/Special_ARB.txt', sep="|", header=None,encoding='cp1252',error_bad_lines=False)
except <your error description>:
   <do this>

这应该适用于内存中的数据集,您可以在大型数据集上使用分块解决方案:https://stackoverflow.com/a/59331754/9379924

相关问题 更多 >