在Python中规范化嵌套json文件

enyaitl3  于 2023-03-20  发布在  Python
关注(0)|答案(1)|浏览(177)

假设一个对象列表:一、二、三...
每个对象都由name、foo1和foo2字段组成。

[{
    'name':'one',
    'foo2':{ 
        'id':'1.1',
        'id':'1.2'
    },
    'foo1':[
        {
            'foo2':{
                'id':'1.1',
                'name':'one.one'
            }
        }, 
        {
            'foo2':{
                'id':'1.2',
                'name':'one.two'
            }
        }
    ]
}]

如果使用以下方法规格化对象:

obj_row_normalize = pd.json_normalize( object_row,
                                  record_path =['foo2'],
                                   meta=['name'],
                                   record_prefix='num_',
               )

结果是:

id  num_name  
1.1      one   
1.2      one

鉴于此,如何将foo1.foo2.name添加到每个结果行,如下所示:

id  num_name   name
1.1      one   one.one
1.2      one   one.two
ogq8wdun

ogq8wdun1#

将记录路径更改为foo1

pd.json_normalize(recs, record_path=['foo1'], meta='name')
  foo2.id foo2.name name
0     1.1   one.one  one
1     1.2   one.two  one

相关问题