【发布时间】:2019-12-09 11:10:23
【问题描述】:
我想将调用结果从 API 转换为数据帧。 API 调用的结果是一个嵌套字典,但生成的数据帧不是我需要的。
除了json_normalize,我还尝试了pd.DataFrame.from_dict。然而,直到现在都没有成功。我也试过把字典弄平,但没有。
我使用了以下调用:
[73] results = requests.get(url).json()
results
输出是:
{'result': {'totalrows': 3124,
'rows': [{'rownum': 1,
'values': [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'},
{'field': 'issueid', 'value': 472683},
{'field': 'ticker', 'value': 'AAPL'},
{'field': 'companyname', 'value': 'APPLE INC'},
{'field': 'issuetitle', 'value': 'COM'},
{'field': 'filerid', 'value': 1089387}]},
{'rownum': 2,
'values': [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'},
{'field': 'issueid', 'value': 472683},
{'field': 'ticker', 'value': 'AAPL'},
{'field': 'companyname', 'value': 'APPLE INC'},
{'field': 'issuetitle', 'value': 'COM'},
{'field': 'filerid', 'value': 1086893}]},
{'rownum': 3,
'values': [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'},
{'field': 'issueid', 'value': 472683},
{'field': 'ticker', 'value': 'AAPL'},
{'field': 'companyname', 'value': 'APPLE INC'},
{'field': 'issuetitle', 'value': 'COM'},
{'field': 'filerid', 'value': 1085803}]}
然后为了生成数据框,我使用了以下代码:
[74] Owners = results['result']['rows']
df1 = json_normalize(Owners)
df1.head()
这是输出:
rownum values
0 1 [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'},
{'field': 'issueid', 'value': 472683}, {'field':
'ticker', 'value': 'AAPL'}, {'field': 'companyname',
'value': 'APPLE INC'}, {'field': 'issuetitle', 'value':
'COM'}, {'field': 'filerid', 'value': 1089387}
1 2 [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'},
{'field': 'issueid', 'value': 472683}, {'field':
'ticker', 'value': 'AAPL'}, {'field': 'companyname',
'value': 'APPLE INC'}, {'field': 'issuetitle', 'value':
'COM'}, {'field': 'filerid', 'value': 1086893}
2 3 [{'field': 'querydate', 'value': '7/31/2019 3:19 PM'}, {'field':
'issueid', 'value': 472683}, {'field': 'ticker', 'value': 'AAPL'},
{'field': 'companyname', 'value': 'APPLE INC'}, {'field':
'issuetitle', 'value': 'COM'}, {'field': 'filerid', 'value': 1085803}
但是,我想获得一个格式如下的DataFrame:
【问题讨论】:
标签: python json pandas dataframe dictionary