我在使用 json_normalize 时遇到了麻烦,因为 record_path 指向一个列,其中有一个嵌套的 dict 然后包含一个列表。例如,请参见下文。
鉴于以下情况:
list_of_dict = [
{
'SCHOOL_NAME': 'SCHOOL_A',
'STUDENTS': [
{
'STUDENT_NAME': 'JOHN',
'STUDENT_ID': '1'
},
{
'STUDENT_NAME': 'JANE',
'STUDENT_ID': '2'
},
]
},
{
'SCHOOL_NAME': 'SCHOOL_B',
'STUDENTS': [
{
'STUDENT_NAME': 'HENRY',
'STUDENT_ID': '1'
},
{
'STUDENT_NAME': 'MARK',
'STUDENT_ID': '2'
},
]
}]
我可以使用
pd.json_normalize(data=list_of_dict, record_path='STUDENTS', meta=['SCHOOL_NAME'])[['SCHOOL_NAME', 'STUDENT_ID', 'STUDENT_NAME']]
获得以下内容:
如果 list_of_dict 的结构如下,我如何获得类似的输出格式:** 注意 STUDENT_LIST 的添加**
list_of_dict = [
{
'SCHOOL_NAME': 'SCHOOL_A',
'STUDENT_LIST':{
'STUDENTS': [
{
'STUDENT_NAME': 'JOHN',
'STUDENT_ID': '1'
},
{
'STUDENT_NAME': 'JANE',
'STUDENT_ID': '2'
},
]
}
},
{
'SCHOOL_NAME': 'SCHOOL_B',
'STUDENT_LIST': {
'STUDENTS': [
{
'STUDENT_NAME': 'HENRY',
'STUDENT_ID': '1'
},
{
'STUDENT_NAME': 'MARK',
'STUDENT_ID': '2'
},
]
}
}]