我已经浏览过 Stack Overflow 和许多网站,但找不到解决问题的解决方案。我正在尝试通过 pandas 数据框将从多维推理引擎 (AI) 接收到的 JSON 文件转换为 Excel 格式。这个 JSON 文件的结构非常复杂,有很多层次(我不熟悉 JSON 语言)。
这是 JSON 格式:
{
"data": {
"queries": [{
"id": 292,
"**name**": "Data_8",
"queryId": 0,
"values": {
"Entreprise": {
"F1": {
"rule": 1450,
"**value**": "1.000000000000"
}
}
}
}, {
"id": 430,
"name": "Data_9",
"queryId": 1,
"values": {
"Entreprise": {
"F1": {
"rule": 1437,
"value": "N"
}
}
}
}, {
"id": 359,
"**name**": "Data_10",
"queryId": 2,
"values": {
"Entreprise": {
"F1": {
"rule": 876,
"**value**": "O"
}
}
}
}, and so on.
我加载这个文件:
with open(output_JSON) as data_file:
data2= json.load(data_file)
从文件中,我只需要在两列中检索两个字段:名称和对应的值。
数据帧的期望输出是:
name value
0 Data_8 1
1 Data_9 N
2 Data_10 O
感谢您的时间和帮助。
无论如何,请注意并保持安全@家。
来自法国巴黎的问候:)
更新(2/05/2020):文件加载:
with open(output_JSON) as data_file:
data2= json.load(data_file)
然后:
df = pd.DataFrame(data2['data'])
print (df)
返回:
queries
0 {'id': 292, 'name': 'Data_8', 'queryId': 0, 'v...
1 {'id': 430, 'name': 'Data_9', 'queryId': 1, 'v...
2 {'id': 359, 'name': 'Data_10', 'queryId': 2, '...
然后:
df2=df["queries"]
print (df2)
返回完全相同:
0 {'id': 292, 'name': 'Data_8', 'queryId': 0, 'v...
1 {'id': 430, 'name': 'Data_9', 'queryId': 1, 'v...
2 {'id': 359, 'name': 'Data_10', 'queryId': 2, '...
此时我不知道如何在数据框中获取名称和值列。
再次感谢您的时间:)