首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不使用所有RAM的情况下在Google Colaboratory中读取和操作大型csv文件?

如何在不使用所有RAM的情况下在Google Colaboratory中读取和操作大型csv文件?
EN

Stack Overflow用户
提问于 2019-05-14 11:52:09
回答 1查看 618关注 0票数 2

我正试图在谷歌协作中导入和操作压缩的.csv文件(每个压缩格式大约500MB )。有7个文件。使用pandas.read_csv(),我在导入2个文件之后“使用了所有可用的内存”,并且我必须重新启动我的运行时。

我一直在这里寻找答案,并尝试了我遇到的所有答案,但都没有奏效。我有文件在我的谷歌驱动器,并挂载到它。

如何在不使用所有RAM的情况下读取所有文件并对其进行操作?我有12.72 of的RAM和358.27GM的磁盘。

购买更多的RAM不是一个选择。

EN

回答 1

Stack Overflow用户

发布于 2019-05-15 17:14:24

为了解决我的问题,我创建了7个单元格(每个数据文件一个)。在每个单元格中,我读取文件,对其进行操作,保存所需内容,然后删除所有内容:

代码语言:javascript
运行
复制
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()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56122776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档