Pi_*_*Pi_ 97 python json file jsonlines
我试图在Python中加载和解析JSON文件.但是我一直试图加载文件:
import json
json_data = open('file')
data = json.load(json_data)
Run Code Online (Sandbox Code Playgroud)
产量:
ValueError: Extra data: line 2 column 1 - line 225116 column 1 (char 232 - 160128774)
Run Code Online (Sandbox Code Playgroud)
我看了18.2.json
- Python文档中的JSON编码器和解码器,但阅读这些看起来很糟糕的文档非常令人沮丧.
Mar*_*ers 201
您有一个JSON Lines格式的文本文件.您需要逐行解析文件:
import json
data = []
with open('file') as f:
for line in f:
data.append(json.loads(line))
Run Code Online (Sandbox Code Playgroud)
每行包含有效的JSON,但作为一个整体,它不是有效的JSON值,因为没有顶级列表或对象定义.
请注意,因为该文件每行包含JSON,所以您可以一次性尝试解析它或者找出流式JSON解析器.您现在可以选择单独处理每一行,然后再继续下一步,在此过程中节省内存.您可能不希望将每个结果附加到一个列表中,然后在文件非常大的情况下处理所有内容.
如果您有一个包含单个JSON对象的文件,其间有分隔符,请使用如何使用'json'模块一次读入一个JSON对象?使用缓冲方法解析单个对象.
小智 28
如果您正在使用pandas
并且有兴趣将json
文件作为数据帧加载,您可以使用:
import pandas as pd
df = pd.read_json('file.json', lines=True)
Run Code Online (Sandbox Code Playgroud)
要将其转换为 json 数组,您可以使用:
df.to_json('new_file.json')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
175311 次 |
最近记录: |