【发布时间】:2023-03-27 15:37:01
【问题描述】:
我刚刚导入了一个 API 来获取台币 (TWD) 与其他货币的汇率。 所以我用这段代码导入它:
import requests
r=requests.get('http://api.cambio.today/v1/full/TWD/json?key=X')
dico = r.json()
它给了我:
{'result': {'from': 'TWD',
'conversion': [{'to': 'AED',
'date': '2020-06-23T07:23:49',
'rate': 0.124169},
{'to': 'AFN', 'date': '2020-06-23T07:19:53', 'rate': 2.606579},
{'to': 'ALL', 'date': '2020-06-19T20:48:10', 'rate': 3.74252},
{'to': 'AMD', 'date': '2020-06-22T12:00:19', 'rate': 16.176679},
{'to': 'AOA', 'date': '2020-06-22T12:32:59', 'rate': 20.160418},
{'to': 'ARS', 'date': '2020-06-23T08:00:01', 'rate': 2.363501}
]}
}
为了把它变成一个数据框,我尝试了两件事:
df = pd.DataFrame(dico.get('result', {}))
和
from pandas.io.json import json_normalize
dictr = r.json()
df = json_normalize(dictr)
在这两种情况下,我都会得到一个“转换”列,每种货币一行。例如第一行是:“{'to': 'AFN', 'date': '2020-06-23T07:19:53', 'rate': 2.606579}”。 虽然我想要一列货币和一列汇率。
有人可以帮帮我吗?
【问题讨论】:
-
能否请您粘贴有效的 json。我很确定这里有错别字