Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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_Pandas_Large Files_Ijson - Fatal编程技术网

Python 加载大型Json文件的替代方法

Python 加载大型Json文件的替代方法,python,json,pandas,large-files,ijson,Python,Json,Pandas,Large Files,Ijson,我试图加载一个大的json文件(大约4G)作为pandas数据帧,但以下方法不适用于2G左右的文件>。有没有别的办法 data\u dir='data.json' my\u data=pd.read\u json(data\u dir,lines=True) 我尝试了ijson,但不知道如何将其转换为dataframe 在这种情况下,在内存中加载大型文档可能不是最好的方法。这种大小的JSON可能需要您使用不同的解析方法。尝试改用流式解析器。一些选择 关键是不要在内存中加载整个文档。这类似于X

我试图加载一个大的
json
文件(大约4G)作为
pandas数据帧
,但以下方法不适用于2G左右的文件>。有没有别的办法

data\u dir='data.json'
my\u data=pd.read\u json(data\u dir,lines=True)


我尝试了
ijson
,但不知道如何将其转换为
dataframe

在这种情况下,在内存中加载大型文档可能不是最好的方法。这种大小的JSON可能需要您使用不同的解析方法。尝试改用流式解析器。一些选择

关键是不要在内存中加载整个文档。这类似于XML世界中的SAX解析


我不是python专家,但是,应该有一个很好的库可以为您完成这项工作

你的公羊是什么?您是否尝试过内置的
json.loads
?您使用的是32位还是64位python?@JonasAdler我将继续假设他使用的是32位python,否则这将是太巧合了。对于上面的评论,我使用的是64位8GB,而且我还有55%的剩余空间,因此理想情况下它应该可以工作:)。无论如何,感谢您对json.loads的建议,它现在可以工作了。并不是因为磁盘上的文件是4GB,内存中的表示是4GB。Python为每个字符串创建一个对象,这些字符串可能比磁盘上发生的更多。