我正在尝试使用 dask 读取 .txt(大约 700 万行)。但是,大约有 4000 行与列的数据类型不匹配:
+-----------------------------+--------+----------+
| Column | Found | Expected |
+-----------------------------+--------+----------+
| Pro_3FechaAprobacion | object | int64 |
| Pro_3FechaCancelContractual | object | int64 |
| Pro_3FechaDesembolso | object | int64 |
+-----------------------------+--------+----------+
The following columns also raised exceptions on conversion:
- Pro_3FechaAprobacion
ValueError("invalid literal for int() with base 10: '200904XX'")
- Pro_3FechaCancelContractual
ValueError("invalid literal for int() with base 10: ' '")
- Pro_3FechaDesembolso
ValueError("invalid literal for int() with base 10: '200904XX'")
我知道这些是日期列,它们的格式类似于 %Y%m%d,但有些记录类似于 %Y%mXX。我想在使用时跳过这些:
df = pd.read_csv("file.txt",error_bad_lines=False)
有什么办法吗?
最佳答案
error_bad_lines=False
关键字取自 pandas.read_csv
。我认为它不支持您想要的行为。您可能会考虑使用 pandas
标签提出同样的问题,看看熟悉 Pandas 的 read_csv 函数的人是否可以提供一些建议。 dask.dataframe.read_csv
函数仅使用该代码。
关于python - 用dask阅读时如何跳过坏行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57419979/