我正在尝试用 Python 加载一个非常大的 JSON 文件。我试过:
import json
data = open('file.json').read()
loaded = json.loads(data)
但这给了我一个 SIGKILL 错误。
我试过:
import pandas as pd
df = pd.read_json('file.json')
然后出现内存不足错误。
我想尝试使用 ijson
来流式传输我的数据,并且一次只将一个子集拉入其中。但是,您需要知道 JSON 文件的架构是什么,以便知道要查找的事件。我实际上并不知道我的 JSON 文件的架构是什么。所以,我有两个问题:
有没有办法在不知道架构的情况下在 Python 中加载或流式传输大型 json 文件?或者将 JSON 文件转换为另一种格式(或转换为 postgresql 服务器)的方法?
是否有工具可以显示我的 JSON 文件的架构是什么?
更新:
使用 head file.json
了解我的 JSON 文件的外观。从那里开始会更容易一些。
最佳答案
我会处理文件的较小部分。看看Lazy Method for Reading Big File in Python? .您可以调整建议的答案以逐个对象解析您的 JSON 对象。
关于python - 在不知道模式的情况下加载非常大的 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327746/