【发布时间】:2017-10-23 23:58:27
【问题描述】:
我正在处理非常大的 .csv 文件,并试图查找文件中的行数以及解析为 json 等其他内容。
我的问题是如何克服 csv 库的限制,因为我经常收到以下错误。
我提供了一个我知道在 python3 中工作的示例程序,它将返回 csv 文件中的行数。
import csv
input = 'large-input.csv'
with open(input ,"r") as f:
reader = csv.reader(f,delimiter = ",")
data = list(reader)
row_count = len(data)
print(row_count)
但是,在运行 1.5GB 的 csv 文件时,我继续收到此错误。
Traceback (most recent call last):
File "csv-len.py", line 6, in <module>
data = list(reader)
_csv.Error: field larger than field limit (131072)
非常感谢任何解决此问题的方法。谢谢!
【问题讨论】:
-
@OluwafemiSule 这个问题是不同的。将 CSV 读入生成器将无济于事。您仍然需要耗尽发电机才能获得长度。
-
我不知道如何回答我自己的问题,但我找到的解决方案是使用 pandas 打开文件并获取结果数据框的形状。
标签: python csv parsing limit bigdata