我想把API调用的结果转换成数据帧。 API调用的结果是一个嵌套字典,但是生成的数据帧不是我所需要的。你知道吗
除了规范化,我还尝试了pd.DataFrame.from\ U目录然而,直到现在都没有成功。我也试着把字典压平,但什么也没有。你知道吗
我使用了以下调用:
[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}
但是,我希望获得以下格式的数据帧:
可以使用^{} ,但需要删除数据中所有不必要的数据。实际上,您只想保留每行的
field
值和value
。您可以使用列表理解:一旦有了这个字典,就可以调用
from_dict
方法:如果要将
rownum
作为列(或索引)获取:朴素的嵌套for循环尝试。。。你知道吗
JSON对象:
输出:
相关问题 更多 >
编程相关推荐