我得到了一个格式如下的json文件,每条记录均以行表示:
{
"A":0,
"B":2
}{
"A":3,
"B":4
}
如何在列表中阅读它?
答案 0 :(得分:3)
如果您的数据正是该格式的 ,我们可以将其编辑为有效的JSON。
import json
source = '''\
{
"A":0,
"B":2
}{
"A":3,
"B":4
}{
"C":5,
"D":6
}
'''
fixed = '[' + source.replace('}{', '},{') + ']'
lst = json.loads(fixed)
print(lst)
输出
[{'A': 0, 'B': 2}, {'A': 3, 'B': 4}, {'C': 5, 'D': 6}]
这取决于每个记录由'}{'
分隔。如果不是这种情况,我们可以使用regex进行搜索和替换操作。
答案 1 :(得分:0)
未经测试
import pandas as pd
str = '{"A":0,"B":2}{"A":3,"B":4}'
list(pd.read_json(str))
答案 2 :(得分:0)
在您的输入周围添加[
和]
,然后尝试以下操作:
import json
with open('data.json') as data_file:
data = json.load(data_file)
print (data)
此代码返回此行
[{'A':0,'B':2},{'A':3,'B':4}]
当我将这些数据放入文件中时:
[
{
"A":0,
"B":2
},{
"A":3,
"B":4
}
]
如果无法编辑文件data.json,则可以从该文件中读取字符串,在该字符串周围添加[
和]
,然后调用json.loads()
。
更新:哦,我看到我在JSON文件之间添加了逗号分隔符。对于初始输入,我的代码不起作用。但是修改该文件的生成器可能更好吗? (即添加逗号分隔符)