Json 标准化对象数组

Json normalize an array of objects

我需要一些帮助来标准化 json 结构并将其转换为数据帧

这是我的例子:

# importing the libraries used
import pandas as pd

# initializing the data
data = {
    'company': 'XYZ pvt ltd',
    'location': 'London',
    'info': [
        {
            'president': 'Rakesh Kapoor',
            'contacts': {
                'email': 'contact@xyz.com',
                'tel': '9876543210'
            }
        },
        {
            'president': 'Julio Vasquez',
            'contacts': {
                'email': 'julio@test.com',
                'tel': '987987654'
            }
        }
    ]
}

print(pd.json_normalize(data))

这是输出:

我必须做些什么才能看到 table 像:

最后的想法是对上次 table 进行一些 sql 查询。

此致

您可以使用 json_normalizerecord_pathmeta 参数:

out = pd.json_normalize(data, record_path=['info'], meta=['company', 'location'], record_prefix='info.')

输出:

  info.president info.contacts.email info.contacts.tel      company location
0  Rakesh Kapoor     contact@xyz.com        9876543210  XYZ pvt ltd   London
1  Julio Vasquez      julio@test.com         987987654  XYZ pvt ltd   London