用python读写大型JSON文件的最佳方法是什么? [关闭]

问题描述 投票:0回答:4

我一直在尝试读写一个大的JSON数据文件,python中的哪个库对于实现它是有效的?

[我正在使用json库来读写json文件,但是当我尝试读取一个大的json文件时,我得到了MemoryError

[我发现使用ijson我们可以读取大的json文件,但我也需要修改该文件。

python json python-3.x
4个回答
2
投票

[python的json模块的问题在于它是纯python,因此在大型JSON文件上最终运行起来很慢。您可能想要使用用C / C ++编写并编译为本机代码的ujson


1
投票

您可以在python中使用内置的json(JSON编码器和解码器)库。

要直接从文件读取json对象,可以使用json.load方法。

json.load方法

使用此转换表将文件反序列化为Python对象。

您可以在python docs处了解更多信息>

import json

# reading data from json file
with open('data.json', 'r', encoding="utf-8") as f:
    data = json.load(f) # ---> Deserialize the file to json object
    print(data)

要将json对象直接写到文件中,可以使用json.dump方法。

json.dump方法

将obj序列化为JSON格式的文件流。

您可以在python docs上了解更多信息>

import json 

# writing json data to file
data = { "name": "lana", "age": 25 }
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4) # ---> Serialize the json object to file

[有很多库可用于文件处理,我最喜欢的一个库是“ Panda”。本教程可能会有所帮助。https://www.dataquest.io/blog/python-json-tutorial/

并且官方文档始终是最好的。https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html

使用json

import json
json_string = open('filename','r').read() # '{"name":12}'

parsed_json = json.loads(json_string) #Convert To Dictionary

0
投票

[有很多库可用于文件处理,我最喜欢的一个库是“ Panda”。本教程可能会有所帮助。https://www.dataquest.io/blog/python-json-tutorial/


0
投票

使用json

© www.soinside.com 2019 - 2024. All rights reserved.