我正试图在谷歌协作中导入和操作压缩的.csv文件(每个压缩格式大约500MB )。有7个文件。使用pandas.read_csv(),我在导入2个文件之后“使用了所有可用的内存”,并且我必须重新启动我的运行时。
我一直在这里寻找答案,并尝试了我遇到的所有答案,但都没有奏效。我有文件在我的谷歌驱动器,并挂载到它。
如何在不使用所有RAM的情况下读取所有文件并对其进行操作?我有12.72 of的RAM和358.27GM的磁盘。
购买更多的RAM不是一个选择。
发布于 2019-05-15 17:14:24
为了解决我的问题,我创建了7个单元格(每个数据文件一个)。在每个单元格中,我读取文件,对其进行操作,保存所需内容,然后删除所有内容:
import pandas as pd
import gc
df = pd.read_csv('Google drive path', compression = 'gzip')
filtered_df = df.query('my query condition here')
filtered_df.to_csv('new Google drive path', compression = 'gzip')
del df
del filtered_df
gc.collect()在所有7个文件之后,每个文件大约500MB,每行到列的总大小为7,000,000 x 100,我的RAM保持在1MB以下。
仅仅使用del并不能释放足够的内存。之后,我不得不在每个单元中使用gc.collect()。
https://stackoverflow.com/questions/56122776
复制相似问题