Python中的MemoryError:如何优化代码?

2024-09-27 00:17:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有许多json文件要合并并输出为一个csv(加载到R中),每个json文件大约为1.5gb。在测试4-5个json文件(每个文件大小为250mb)时,我得到以下错误。我在8gbram和windows7professional 64位上运行Python版本'2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]'。在

我是一个Python新手,在编写优化的代码方面没有什么经验,希望能在下面得到关于如何优化脚本的指导。谢谢您!在

=======Python内存错误=====

Traceback (most recent call last):
  File "C:\Users\...\tweetjson_to_csv.py", line 52, in <module>
    for line in file:
MemoryError
[Finished in 29.5s]

=======json到csv转换脚本=====

^{pr2}$

Tags: 文件csvin版本脚本jsondefault错误
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:20

这里有一行:

open_files = map(open, filenames)

同时打开每个文件。在

然后读取所有内容并将其放入同一个数组tweets。在

您有两个主要的for循环,因此每个tweet(其中有几个GBs值)被迭代两次,相当于惊人的4次!因为您添加了zip函数,然后迭代写入文件。其中任何一个点都可能是内存错误的原因。在

除非绝对必要,试着只接触一次每一条数据。在遍历文件时,处理该行并立即将其写出。在

试试这样的方法:

^{pr2}$

相关问题 更多 >

    热门问题