python - 在不知道模式的情况下加载非常大的 JSON 文件?

标签 python json postgresql memory large-files

我正在尝试用 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 文件的架构是什么。所以,我有两个问题:

  1. 有没有办法在不知道架构的情况下在 Python 中加载或流式传输大型 json 文件?或者将 JSON 文件转换为另一种格式(或转换为 postgresql 服务器)的方法?

  2. 是否有工具可以显示我的 JSON 文件的架构是什么?

更新:

使用 head file.json 了解我的 JSON 文件的外观。从那里开始会更容易一些。

最佳答案

我会处理文件的较小部分。看看Lazy Method for Reading Big File in Python? .您可以调整建议的答案以逐个对象解析您的 JSON 对象。

关于python - 在不知道模式的情况下加载非常大的 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327746/

相关文章:

javascript - 如何创建嵌套的 json 数据?

java - 转换为 JSON 字符串时日期递减一天 - Java

php - 从 postgresql 后端的存储过程中检索通知

sql - 当查询得到非常大的结果时会发生什么

python - 如何在 matplotlib 中为 3d plot_surface 制作动画

python - 编译器 : How to parse function calls and function definitions

Python - 追加字符丢失

java - Jackson 对 Java 中非常大的 JSON 的管理

python - django 项目初始设置中的问题

python - 使用具有多个字段的值聚合来注释查询集