python - Pandas.read_csv() 忽略包含 FEWER 字段的坏行/行。文本文件
问题描述
我正在尝试阅读这个巨大的文本文件:https ://www.dropbox.com/s/3ikikw8bxde6y1i/TCAD_SPECIAL%20EXPORT_2019_20200409.zip?dl= 0(如果您下载 zip,该文件是 Special_ARB.txt(对于我的问题imo)。
我正在运行此代码(添加error_bad_lines=False
)以忽略具有超出预期字段的行,效果很好:
pd.read_csv(r'~/Special_ARB.txt', sep="|",
header=None,encoding='cp1252',error_bad_lines=False)
问题是read.csv()
当一行只有一个字段时崩溃。出现以下错误:
指定的列太多:预期为 77,但找到 1
有没有办法告诉 python/pandas 忽略这个错误?它没有让我知道它是哪条线。有超过一百万行,所以我不能自己找到它。
- 我尝试了一个 for 循环逐行读取并从那里弄清楚,但是数据太大以至于 python 崩溃了。
- 运行代码时,pandas 正确识别的列数为 77,我认为这不是问题。
谢谢,
解决方案
这应该适用于内存数据集,您可以将分块用于大型数据集的解决方案:https ://stackoverflow.com/a/59331754/9379924
推荐阅读
- android - Android 9 上的 WifiManager.AddNetowrk 在 Galaxy S8 上返回 -1
- rabbitmq - 防止消息进入 _error 队列(masstransit、rabbitmq)
- git - 如何在不需要提交和推送删除的情况下删除文件?
- pkce - 将授权码与 PKCE 一起使用时缺少 refresh_token
- r - 我如何使用 R 对这两列进行排序
- angular - Angular 前端客户端应用程序上的 500(内部服务器错误)
- sql-server - 两个非聚集索引在 sql server 中具有相似的 index_keys 列
- hyperlink - WKWebView - 虚拟游览 3d 内的链接
- visual-studio-code - VS Code launch.json 变量正则表达式替换
- python - 计算 2 个字段的组合