pandas.io.json.json_normalize

pandas.io.json.json_normalize(data, record_path=None, meta=None, meta_prefix=None, record_prefix=None)[source]

将规范化的半结构化JSON数据转换为平面表格

参数:

data:dict或list的列表

非序列化JSON对象

record_path:字符串或字符串列表,默认为无

每个对象中的路径到记录列表。如果未传递,则将假定数据是记录数组

meta:路径列表(字符串或字符串列表),默认为无

用作结果表中每个记录的元数据的字段

record_prefix:string,default无

如果为True,前缀记录带有虚线(?)路径。 foo.bar.field如果记录的路径是['foo','bar']

meta_prefix:string,default无

返回:

:DataFrame

例子

>>> data = [{'state': 'Florida',
...          'shortname': 'FL',
...          'info': {
...               'governor': 'Rick Scott'
...          },
...          'counties': [{'name': 'Dade', 'population': 12345},
...                      {'name': 'Broward', 'population': 40000},
...                      {'name': 'Palm Beach', 'population': 60000}]},
...         {'state': 'Ohio',
...          'shortname': 'OH',
...          'info': {
...               'governor': 'John Kasich'
...          },
...          'counties': [{'name': 'Summit', 'population': 1234},
...                       {'name': 'Cuyahoga', 'population': 1337}]}]
>>> from pandas.io.json import json_normalize
>>> result = json_normalize(data, 'counties', ['state', 'shortname',
...                                           ['info', 'governor']])
>>> result
         name  population info.governor    state shortname
0        Dade       12345    Rick Scott  Florida        FL
1     Broward       40000    Rick Scott  Florida        FL
2  Palm Beach       60000    Rick Scott  Florida        FL
3      Summit        1234   John Kasich     Ohio        OH
4    Cuyahoga        1337   John Kasich     Ohio        OH
Scroll To Top