微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas read_csv()在具有140GB RAM的VM上1.2GB文件内存不足

我正在尝试读取1.2G的CSV文件,其中包含25K条记录,每条记录包含一个id和一个大字符串.

但是,大约10K行,我收到此错误

pandas.io.common.CParserError: Error tokenizing data. C error: out of memory

这看起来很奇怪,因为VM有140GB RAM,而在10K行时内存使用率只有1%左右.

这是我使用的命令:

pd.read_csv('file.csv', header=None, names=['id', 'text', 'code'])

我还运行了以下虚拟程序,它可以成功地将我的内存填满接近100%.

list = []
list.append("hello")
while True:
    list.append("hello" + list[len(list) - 1])

解决方法:

这听起来像是chunksize的工作.它将输入过程分成多个块,减少了所需的读取内存.

df = pd.DataFrame()
for chunk in pd.read_csv('Check1_900.csv', header=None, names=['id', 'text', 'code'], chunksize=1000):
    df = pd.concat([df, chunk], ignore_index=True)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐