问题标签 [ijson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
247 浏览

python - 如何使用 Python 读取大数据 JSON?

我需要在数据框中加载一个大型 JSON 文件pandas

我的问题是如何在 pandas 中读取/打开这个文件?

使用终端,我可以看到文件的头部(每行/记录由 分隔\n

使用read_jsonfrompandas会给我一个错误(ValueError: Expected object or value),包括当我对参数使用不同的值时orient

0 投票
1 回答
111 浏览

python - iJson.items() 是否在迭代之前将整个 JSON 文件加载到内存中?

我最近开始使用 iJson 迭代地传递我的 JSON 数据。我将使用巨大的 JSON 文件(100+ GB)。

iJson 的文档非常有限,没有提及太多,因此它们对回答我的问题帮助不大。

iJson.items() 是否在调用时将整个 JSON 文件加载到内存中?

0 投票
0 回答
465 浏览

python - 如何从 JSON-LD 读取字段到 CSV?

我正在尝试将值从 json ld 提取到 csv,因为它们在文件中。我面临几个问题。1. 在大多数情况下,为不同字段读取的值会被截断。在其余情况下,其他字段的值出现在其他字段中。2. 在大约 4,000 行之后,我也收到一个错误 - 'Additional data'。该文件很大(半 GB)。我附上了我的代码的缩短版本。请告诉我哪里出错了。

输入文件 - 我已将其缩短并保留在此处。没有办法把它放在这里。

https://github.com/Architsi/json-ld-issue

我尝试编写此脚本,也尝试了多个在线转换器

我得到的错误是这个- raise common.JSONError('Additional Data') 预期结果是一个包含所有列和正确值的 csv 文件

0 投票
0 回答
247 浏览

python - 无法将 JSON 加载到 MongoDB,因为 MongoDB 特定符号

我有一个巨大的 JSON 文件,最初来自 MongoDB。

该文件包含几种 MongoDB 类型,例如:

由于它们,我无法通过以下方式将其加载到 MongoDB 数据库中mongoimport

请注意,上面的“字符:O”是“ObjectID”的第一个“O”。

我也不能使用 ijson Python 包:

错误信息:ijson.backends.python.UnexpectedSymbol: Unexpected symbol 'O' at 15

有没有其他方法来解析 JSON 文件?

0 投票
1 回答
2290 浏览

parse-error - ijson 因尾随垃圾解析错误而失败

执行上述代码后出现以下错误,我不明白错误是什么。

ijson.common.IncompleteJSONError: 解析错误: 尾随垃圾 nt":19485,"verified":false}} {"user_id":1408970940,"id":4496 (就在这里) ------^

0 投票
2 回答
484 浏览

python - C 包装 Python 库 Json Slicer 比纯 Python ijson 库慢

根据官方文档(https://pypi.org/project/jsonslicer/),Json Slicer 的基本配置产生 586.5K 对象/秒,ijson 与 Python 在后端产生 32.2K 对象/秒,而 ijson使用 C 后端 (ijson.yajl2_cffi) 产生 75.7Kobjects/sec。

当我在 5GB 大小的深度嵌套 JSON 文件上使用这两个库时,预计 Json Slicer 作为 YAJL ( https://lloyd.github.io/yajl/ ) 上的包装器将比使用纯 Python 的 ijson 执行得更快执行。但是,Json Slicer 花费的时间是 607.8014905452728 秒,而 ijson 花费了 308.19292974472046 秒。

根据各种来源(https://lpetr.org/2016/05/30/faster-json-parsing-python-ijson/http://explique.me/Ijson/),带有 C 后端的 ijson 应该比使用纯 Python 后端。但是,带有 C 后端的 ijson 花费的时间是 2016.68796280378929 秒。

在不同情况下对不同大小的不同 Json 文件集多次运行期间观察到此行为。

我的系统配置是带有 20GB RAM 的 Intel i7。执行脚本期间未使用多处理。

请问有人可以解释这种奇怪行为的根本原因吗?也请让我知道这个问题的解决方案。

0 投票
2 回答
587 浏览

python - (ijson) 获取任何前缀的项目

我有一个这样的json文件:

我想像这样获取每个前缀的所有项目:

我用这个:

我用一个接受前面的每个字符串的正则表达式进行了尝试item,但它不起作用。我认为有一个非常简单的解决方案,我只是看不到。还查看了 ijson 的文档,但也没有找到任何解决方案。

也许你可以帮助我。

问候

0 投票
2 回答
1125 浏览

python - 如何将大型 JSON 文件加载到 Pandas 数据框

我有 16 个 JSON 文件,每个文件大小约为 14GB。我尝试了以下方法逐行阅读它们。

我的目标是将它们加载到熊猫数据框中以执行一些搜索操作。

问题是这种方法需要花费大量时间来读取文件。

有没有其他最佳方法来实现这一目标?

0 投票
1 回答
53 浏览

python - 如何从 Python 中的大 Json 文件制作存储桶?

我有以下本地 Json 文件(大约 90MB):

为了使我的数据可以访问,我想创建更小的 Json 文件,其中包含完全相同的数据,但Readings.SensorData每次只有 100 个数组条目。因此,一个包含前 100 个读数的文件,然后是一个包含读数 101-200 的文件,依此类推……我知道ijson库,但我不知道以最有效的内存方式执行此操作。

编辑:请注意,我知道如何使用标准 json 库来做到这一点,但因为它是一个大文件,我希望能够以一种不完整的方式来做到这一点。

任何帮助将不胜感激!

0 投票
0 回答
254 浏览

python - 使用 Ijson 将非常大的 json 转换为 sql

我有 60GB 的 json 文件,我想用 ijson 将它转换为 sql。(我尝试了很多软件和工具,它们没有用,我的系统崩溃了。

注意:这不是重复的!我看到了关于这个方法的所有代码并写了这个,但我的代码仍然很慢。

这是我的代码:

我测试了多线程和多处理方法,但我的代码仍然运行非常缓慢!(每秒只会生成 10KB 的我的 sql 数据库)。

我想非常有效地做到这一点。

我的 json 样本是:

……

请给我一个提高代码速度的想法。

更新: 根据评论,我编写了一个将我的大 json 文件转换为 .csv 的代码,但它仍然比方法 1 慢但更快!

这是代码:

还有 JsonSlicer 库:

我得到这个错误:

我认为这个库不支持我的 json 文件。