[英]How to extract values from (particular?) nested dictionary using spotify API?
[英]Extract values from API source (nested dictionary)
我試圖只提取數據框中的日期和棉花值。 我對 pd.json_normalize / pd.DataFrame.from_dict 的嘗試沒有奏效......
例子:
{'data': {'success': True,
'timeseries': True,
'start_date': '2021-06-01',
'end_date': '2022-05-01',
'base': 'USD',
'rates': {'2021-09-22': {'USD': 1, 'COTTON': 1.0994505494505},
'2021-09-23': {'USD': 1, 'COTTON': 1.0876304347826},
'2021-09-24': {'USD': 1, 'COTTON': 1.0877934782609},
'2021-09-25': {'USD': 1},
'2021-09-26': {'USD': 1, 'COTTON': 1.0876304347826},
'2021-09-27': {'USD': 1, 'COTTON': 1.0874347826087},
...
'2022-05-01': {'USD': 1, 'COTTON': 0.64516129032258}},
'unit': 'per lb'}}
預期結果 :
日期 | 棉花_價格 |
---|---|
2021-09-23 | 1.0876304347826 |
2021-09-24 | 1.0877934782609 |
... | ... |
創建一個函數來解析您的 api 響應:
def response_to_df(response):
column = {'date':[], 'cotton':[]}
for date, rate in dic['data']['rates'].items():
column['date'].append(date)
column['cotton'].append(rate['COTTON'])
return pd.DataFrame(column)
data = [[key, value.get('COTTON')] for key,value in response['data']['rates'].items()]
df = pd.DataFrame(data, columns=['Date', 'Cotton_prices'])
結果:
日期 | 棉花價格 |
---|---|
2021-09-22 | 1.09945 |
2021-09-23 | 1.08763 |
2021-09-24 | 1.08779 |
2021-09-25 | 楠 |
2021-09-26 | 1.08763 |
2021-09-27 | 1.08743 |
2022-05-01 | 0.645161 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.