问题标签 [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 投票
1 回答
1125 浏览

python - 使用 ijson python 将 1.4 GB json 数据加载到 mysql

我遇到了几个讨论 ijson 以在 python 中加载巨大的 JSON 文件的线程,因为这是不消耗所有内存的方法。

我的文件大小约为 1.4 GB,它有几个节点(见下图),我只对一个保存大部分数据的节点(c_driver_location)感兴趣。

JSON_1.4GB

我的目标是:我只想提取 c_driver_location 节点数据并将其插入到 mysql db 表中(它将有四列:id、longitude、latitude、timestamp)。

表 ddl:

创建表 drv_locations_backup7May2017 (id bigint unsigned auto_increment 主键, drv_fb_id varchar(50), 纬度 DECIMAL(10, 8) NOT NULL, 经度 DECIMAL(11, 8) NOT NULL, timestamp int )

我的问题是:我运行了附加代码的第一部分(直到连接到 mysql 之前),但它运行了 20 个小时,仍然没有完成对 json 的解析。(我在较小的文件上进行了测试,效果很好)。

有没有一种最佳方法可以让这更快、更高效?

0 投票
2 回答
1409 浏览

python - 是否可以使用 ijson 在内存中创建和加载 JSON 对象(而不是从/到文件)?

我正在尝试使用ijson而不是json能够有效地将字典转储/加载到字符串(在内存中,而不是从文件中)[1]。

是否有任何ijson类似于标准倾倒/加载的示例json?我见过的所有使用的资源ijson都只有文件示例。

[1] -- 字典被转换为字符串以便将它们存储在一个集合中

0 投票
1 回答
936 浏览

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

我正在尝试将一个大json文件(大约 4G)加载为pandas dataframe.,但以下方法不适用于文件 > 大约 2G。有没有替代方法?

data_dir = 'data.json' my_data = pd.read_json(data_dir, lines = True)

我试过ijson但不知道如何将其转换为dataframe.

0 投票
1 回答
1731 浏览

python - 从列表中解析 Ijson

我有一个列表,其中每个项目都包含 JSON 数据,因此我尝试使用解析数据,Ijson因为数据负载会很大。

列表的图像

这就是我想要实现的目标:

这是我得到的错误:

AttributeError:“生成器”对象没有“读取”属性

我想将转换liststring然后尝试解析Ijson,但它失败并给了我同样的错误。

请问有什么建议吗?

因为它在列表中,我也尝试了这个..但它给了我同样的错误。

“生成器”对象没有“读取”属性

0 投票
1 回答
381 浏览

python - 使用 ijson 解析,列表变成字符串 - 使它们嵌套的浮点列表

我有使用 ijson 解析的大型 .GEOJSON 文件。我加载的一个数据是列出的坐标,例如:“坐标”:[[[47335.8499999996, 6571361.68], [47336.2599999998, 6571360.54], [47336, 6571335.4]]]

我能够加载这些数据,将其类型从 Decimal.decimal() 更改为在 ijson 对象类中浮动。我使用以下内容来解析 JOSN 文件。

一切都结束了,但坐标列表是字符串类型。我需要能够处理各个点和 xy 坐标。例如:df_rivers,其中 df_rivers["coordinates"] 将包含此类列表。

我试过了

所以我可以访问每个点和坐标,但这很麻烦。此外,point[1] 在 temp_list 中间突然超出范围。我有很多这样的列表,实际上它们要长得多,我需要能够轻松地使用它们。

我不在乎修复是否在于数据的加载,或者我是否可以在之后将其应用于整个列,因为脚本一旦完成就很少运行。但是,我将有 153 个文件,最多 60000 行它必须运行,所以效率会很好。

我正在使用 Python 3.6.3

0 投票
2 回答
3531 浏览

json - 如何使用 ijson/other 来解析这个大的 JSON 文件?

我有这个巨大的 json 文件(8gb),当我试图将它读入 Python 时内存不足。我将如何使用 ijson 或其他一些对大型 json 文件更有效的库来实现类似的过程?

我将如何使用 ijson 或类似的东西来实现它?有没有一种方法可以在不读取整个 JSON 文件的情况下提取我想要的对象?

该文件是一个对象列表,例如:

0 投票
4 回答
15075 浏览

python - 如何使用 Python ijson 读取大型 JSON 文件?

我正在尝试解析一个大的 json 文件(数百个演出)以从其键中提取信息。为简单起见,请考虑以下示例:

然后,我在 python 2.7 中使用 ijson 来解析文件:

我期待检索与 dic 键对应的列表中的所有数字。然而,我得到了

IncompleteJSONError:不完整的 JSON 数据

我知道这篇文章:Using python ijson to read a large json file with multiple json objects,但在我的情况下,我有一个格式良好的单个 json 文件,具有相对简单的模式。关于如何解析它的任何想法?谢谢你。

0 投票
2 回答
94 浏览

python - Python ijson 关于组织不良的 json

我正在尝试从 Kontakt.io 的 MQTT 代理中获取数据。这是它提供的格式,包括前导 b' 和尾随 '

鉴于 JSON 中除了块之外没有任何组织,我如何才能使用键实际从中提取数据?

我试过了:

正如在许多示例中所看到的那样,但我无法弄清楚如何在不“挖掘” JSON 树的情况下使其工作(如随处可见的 earth.europe.etc.item 示例)。我应该尝试使用数组索引或类似的东西来获取 rssi.item 吗?我应该修剪 json 的“b'”和尾随的“'”吗?

我不经常使用 Python,所以对此我感到有些不知所措。

0 投票
3 回答
6255 浏览

python - 使用 Python 从文本文件中解析多个 json 对象

我有一个 .json 文件,其中每一行都是一个对象。例如,前两行是:

我尝试使用 ijson lib 进行如下处理:

但是,我得到错误:

它似乎是由于多个对象我收到这样的错误。

在 Jupyter 中分析此类 Json 文件的推荐方法是什么?

先感谢您

0 投票
1 回答
604 浏览

python - 使用 ijson 迭代解析 JSON 文件

我想分块解析一个巨大的 json 文件。我想使用它的大块而不加载整个东西。数据可以在这里找到 http://jmcauley.ucsd.edu/data/amazon/

当我使用 ijson 执行此操作时,出现JSONError: Additional data. 有没有办法做到这一点?

我的代码:##产生附加数据错误

这确实有效,但速度很慢:

代码的结果