我是python.my的新用户问题是:
我有三个csv文件(每个大约15G,并且有三列),我想将它们读入python并删除dur = 0的行 我的csv是这样的。
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
我知道我应该逐行阅读,我尝试这样:
file='cmct_0430x.csv'
for line in file.xreadlines():
pass
但似乎不起作用。
此外,我不知道如何将这些行转换为数据帧。
有人可以告诉我更多关于此的细节,我将非常感谢你!
答案 0 :(得分:1)
你应该使用熊猫。并阅读chunks
(处理的行数)中合适大小的csv。然后使用concat
获取所有块。
from pandas import *
tp = read_csv('cmct_0430x.csv', iterator=True, chunksize=1000)
df = concat(tp, ignore_index=True)
熊猫:Read_csv
您正在收到内存错误,因为您正在处理整个csv,其时间大于主内存的大小。尝试以块的形式打破它然后处理它。