Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python读取json文件中很长的一行时出现内存错误_Python_Json - Fatal编程技术网

使用Python读取json文件中很长的一行时出现内存错误

使用Python读取json文件中很长的一行时出现内存错误,python,json,Python,Json,我有一个1GB的json文件,其中有很长的行,当我尝试从该文件加载行时,我从PyCharm控制台得到以下错误: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pydev\pydev_run_in_console.py", line 53, in run_file pydev_imports.execfile(file, globals, loca

我有一个1GB的json文件,其中有很长的行,当我尝试从该文件加载行时,我从PyCharm控制台得到以下错误:

Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pydev\pydev_run_in_console.py", line 53, in run_file
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "......... .py", line 26, in <module>
    for line in f:
MemoryError
PyDev console: starting.
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
错误消息中的第26行引用了

tweetData=json.load(行)

第53行是指

json.dump(topicMap,output,sort\u keys=True)


奇怪的是,我从GitHub派生了这段代码,因此我认为它应该可以工作。

看起来您使用的是32位版本的Python:

Python 2.7.14 (...) [MSC v.1500 32 bit (Intel)] on win32

在Windows上,每个进程的内存限制为2GB,因此即使内存充足,也会出现内存错误。切换到64位版本的Python应该可以解决您的问题,以防您不想更改脚本。

您是否也提供了数据?你的数据太大了-你到底为什么需要一个文件中包含1GB json的推文?可能是@PatrickArtner的重复:读取如此大的json对象可能有很多很好的理由,但在推文的情况下,我当然更喜欢每行放一条tweet并单独阅读,而不是序列化和取消序列化一个伟大的鸣叫列表。是的,我也提供了完全相同的数据。我更喜欢有一个json文件来与我分叉的原始项目保持一致,因为我需要从它开始作为我工作的基础谢谢,我会尝试!我可以在安装32位版本的同时安装它,还是最好先卸载它?请查看相关信息,尽管如果安装了64位版本,我不认为有任何理由保留32位Python。
Python 2.7.14 (...) [MSC v.1500 32 bit (Intel)] on win32