how do I read a large csv(20G)
本问题已经有最佳答案,请猛点这里访问。
我是python.my的新用户问题是这样的:
我有三个csv文件(每个大约15G,并有三列),我想将它们读入python并删除dur = 0的行
我的csv是这样的。
1 2 3 4 5 6 7 8 | sn_fx sn_tx dur 5129789 3310325 2 5129789 5144184 1 5129789 5144184 1 5129789 5144184 1 5129789 5144184 1 5129789 6302346 4 5129789 6302346 0 |
我知道我应该逐行阅读,我尝试这样:
1 2 3 | file='cmct_0430x.csv' for line in file.xreadlines(): pass |
但它似乎不起作用。
此外,我不知道如何将这些线转换为数据帧。
有人可以告诉我更多关于此的细节,我将非常感谢你!
你应该使用熊猫。 并读取适当大小的
1 2 3 4 | from pandas import * tp = read_csv('cmct_0430x.csv', iterator=True, chunksize=1000) df = concat(tp, ignore_index=True) |
熊猫:Read_csv
您正在收到内存错误,因为您正在处理整个csv,其时间大于主内存的大小。 尝试以块的形式打破它然后处理它。