python - Python - json.loads 未连接的大字典文件
问题描述
我有一个大(50,000 多行)文件,它是来自另一个应用程序的 json 输出的集合,我想将其作为 json 读取并对其执行一些分析。问题是,虽然单个条目是有效的 json,但我无法以 json 格式读取整个文件,因为每个条目都没有连接。
片段:
{"action":"Iops","idg":"2214472975167211","idx":537994,"system":"Qos","utc":"2019-07-02T11:45:09.606765Z","ver":"1.1","xQosIops":{"ActualReadOps":{"avg":0,"ct":60,"max":0,"min":0,"std":0,"tmax":29880,"tmin":29880}}}
{"action":"Latency","idg":"2214472975167211","idx":537995,"system":"Qos","utc":"2019-07-02T11:45:09.606829Z","ver":"1.1","xQosLatency":{"AverageLocalWriteLatencyUS":{"avg":0,"ct":60,"max":0,"min":0,"std":0,"tmax":29880,"tmin":29880}}}
单独它们都是有效的,但我想要实现的是将所有这些动态连接到一个 json 对象中。需要注意的是,这些 json 响应可能跨越多行,所以我不能只逐行阅读。任何帮助,将不胜感激。
解决方案
如果每一行都是有效的 JSON,您可以将其包装在一个单独读取它们的脚本中,并将它们附加到一个列表中。就像是:
import json
data = []
with open("fakejson.txt") as data_f:
for line in data_f:
data.append(json.loads(line)
推荐阅读
- r - 使用 unique() 函数后,如何从具有重复案例的 data.frame 中获取行的索引?
- firefox - 无法在适用于 Linux 的 Windows 子系统中打开 Firefox
- python - 无法将一个 python 文件导入另一个
- php - 如何使用 WooCommerce 短代码作为 PHP 代码
- sql - 取消透视数据时如何保留索引(SQL Server)
- c# - 检查两个字符串是否包含相同的单词但顺序不同
- mysql - MYSQL - 平均生日最多的一天
- neural-network - 我的神经网络中每个时期的时间是 0 秒
- r - 使用多个点而不是随机采样来插值密度
- junit5 - JUnit 5 和 Arguments.of() 函数