【发布时间】:2019-12-24 14:07:23
【问题描述】:
我正在使用python,并且我有一个文件 (data.json),其中包含多个 json,但整个文件都不是 json。
所以文件看起来像这样:
{ "_id" : 01, ..., "path" : "2017-12-12" }
{ "_id" : 02, ..., "path" : "2017-1-12" }
{ "_id" : 03, ..., "path" : "2017-5-12" }
在... 的地方还有大约 30 个键,其中一些具有嵌套的 jsons(所以我的意思是上面的每个 json 都很长)。
因此,上面这个文件中的每个块都是 json,但整个文件不是 json,因为它们没有用逗号等分隔。
如何使用pandas 或简单的python 分别读取这些json?
我试过这个:
import pandas as pd
df = pd.read_json('~/Desktop/data.json', lines=True)
它实际上创建了一个数据框,其中每一行大约是一个 json,但它还为 json 的每个(第一级)键创建一个列,这使得事情变得更加混乱,而不是将整个 json 直接放在一个中细胞。
为了更清楚,我希望我的输出在“熊猫”数据框(或其他合理的数据结构)中是这样的:
jsons
0 { "_id" : 01, ..., "path" : "2017-12-12" }
1 { "_id" : 02, ..., "path" : "2017-1-12" }
2 { "_id" : 03, ..., "path" : "2017-5-12" }
【问题讨论】:
-
您是否需要将每个 json 转换为列表,如欺骗或数据框?