Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 规范化熊猫中的深度嵌套json_Python_Json_Pandas - Fatal编程技术网

Python 规范化熊猫中的深度嵌套json

Python 规范化熊猫中的深度嵌套json,python,json,pandas,Python,Json,Pandas,我正在尝试规范化一个json文件,该文件如下所示(一个小片段): 我正试图得到一张像这样的桌子: **"trimestre"** (columns) **"sigle" + "titre"** (index): *valeur* 我试着像这样使用normalize函数 result = json_normalize(data, 'cours',['trimestre']) print(result) 但是我

我正在尝试规范化一个json文件,该文件如下所示(一个小片段):

我正试图得到一张像这样的桌子:

                                    **"trimestre"** (columns)
      **"sigle" + "titre"** (index): *valeur*
我试着像这样使用normalize函数

result = json_normalize(data, 'cours',['trimestre'])
print(result) 
但是我得到了一个错误:TypeError:字符串索引必须是整数

基本上我想要“sigle”+“titre”(来自“cours”)作为索引,“trimestre”作为列,“valeur”的平均值作为表中的值

提前谢谢

给你:

从集合导入defaultdict
导入json
以open(“data.json”、“r”)作为f:
data=json.load(f)
测试=[{'Trimestree':'A2000',
“cours”:[{“sigle”:“TECH 20701”,“titre”:“La cyberssécuritéet le gestionnaire”,“etudiants”:[{“matricule”:“22000803”,
“nom”:“Boyer,AndrÃ”,
‘注’:‘C+’,
“valeur”:2.3},
{'matricule':'22000829',
“nom”:“Keighan,Maylis”,
“注意”:“A+”,
“valeur”:4.3},
{'matricule':'22000869',
“nom”:“Lahaie,碱液”,
“注意”:“B+”,
“valeur”:3.3},
{'matricule':'22000973',
“nom”:“Conerardy,Rawaa”,
“注意”:“B+”,
“valeur”:3.3},
]}]}]
结果=defaultdict(列表)
对于数据中的trimestre:
结果[“trimestre”]。追加(trimestre[“trimestre”])
三季度课程[“课程”]:
结果[“索引”]。追加(f“{cours['sigle']}{cours['titre']}”)
结果[“valeur”]。追加(cours[“sigle”])
df=pd.DataFrame(结果[“valeur”]、列=结果[“trimestre”]、索引=结果[“index”])
结果

打印(df) 2000年 技术20701网络安全与管理技术20701
请不要将输出作为图像发布。在问题中抄过去。从图像中获取数据真的很难。@poojan抱歉,第一次使用堆栈溢出时,我更改了它。问题是您有一个索引用于几个“valeur”,您想要哪一个?@FlorianBernard“sigle”就最好了。我仍然得到一个TypeError:字符串索引必须是整数。尝试使用code@Jacky我已经更新了我的代码,使用json模块,而不是一个。
import pandas as pd
import json
import numpy as np
from pandas.io.json import json_normalize

data = pd.read_json('DataTP2.json')
print(data)
result = json_normalize(data, 'cours',['trimestre'])
print(result)