将 JSON 与 pandas 一起使用,嵌套信息问题 (python)
Using JSON with pandas, problem with nested info (python)
我正在尝试使用 JSON
文件创建带有 pandas
的 table。
import seaborn as sns
import pandas as pd
from pandas.io.json import json_normalize
releves = pd.read_json('DataTP2.json')
releves
我的文件结构如下:
[
{
"trimestre":"H2012",
"cours":[
{
"sigle":"TECH 20701",
"titre":"La cybersécurité et le gestionnaire",
"etudiants":[
{
"matricule":"22003545",
"nom":"Lahaie,Olivier",
"note":"A+",
"valeur": 4.3
},
等等。
当使用 read_json 时,table 不显示嵌套的信息,而是将每个缩进较少的项目显示为一行:
|Cours|Trimestre|
我想要的输出是:
|etudiant|nom|matricule|note|valeur|sigle|titre|trimestre|
我尝试使用 normalize_json
,但出现以下错误:
AttributeError: 'str' object has no attribute 'itervalues'
我曾尝试在使用规范化之前转换为字典,但弹出另一个错误。
谁能帮我摆脱这个障碍?
谢谢
嘿,这应该让你的 json
变平
json_normalize(arr, record_path=['cours', 'etudiants'],
meta=['trimestre', ['cours', 'sigle'], ['cours', 'titre']],
record_prefix='etudiant_')
我正在尝试使用 JSON
文件创建带有 pandas
的 table。
import seaborn as sns
import pandas as pd
from pandas.io.json import json_normalize
releves = pd.read_json('DataTP2.json')
releves
我的文件结构如下:
[
{
"trimestre":"H2012",
"cours":[
{
"sigle":"TECH 20701",
"titre":"La cybersécurité et le gestionnaire",
"etudiants":[
{
"matricule":"22003545",
"nom":"Lahaie,Olivier",
"note":"A+",
"valeur": 4.3
},
等等。
当使用 read_json 时,table 不显示嵌套的信息,而是将每个缩进较少的项目显示为一行:
|Cours|Trimestre|
我想要的输出是:
|etudiant|nom|matricule|note|valeur|sigle|titre|trimestre|
我尝试使用 normalize_json
,但出现以下错误:
AttributeError: 'str' object has no attribute 'itervalues'
我曾尝试在使用规范化之前转换为字典,但弹出另一个错误。 谁能帮我摆脱这个障碍?
谢谢
嘿,这应该让你的 json
变平json_normalize(arr, record_path=['cours', 'etudiants'],
meta=['trimestre', ['cours', 'sigle'], ['cours', 'titre']],
record_prefix='etudiant_')