我正在处理非常大的.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.5 csv的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)我们非常感谢围绕这个问题所做的任何工作。谢谢!
发布于 2017-05-24 05:01:27
CSV通常以换行符分隔,因此通过CSV解析器运行它来计算行数可能比只计算行数效率低。
像这样的事情会快得多。如有必要,您可以减去标题的一行。
def row_count(input):
with open(input) as f:
for i, l in enumerate(f):
pass
return ihttps://stackoverflow.com/questions/44144843
复制相似问题