将 requests.get() 输出解析为 pandas 数据帧

Mer*_*oug 0 python pandas python-requests

我正在学习一个教程,并坚持解析 requests.get() 的输出

我的目标是连接到下面的 API 以提取历史加密货币价格并将它们放入 Pandas 数据框以供进一步分析。

[API:https : //www.cryptocompare.com/api/#-api-data-histoday-]

这就是我所拥有的。

import requests
response = requests.get("https://min-api.cryptocompare.com/data/histodayfsym=ETC&tsym=USD&limit=10&aggregate=3&e=CCCAGG") 



print(response.text)
Run Code Online (Sandbox Code Playgroud)

现在我想输出到一个数据帧...

pd.DataFrame.from_dict(response)
Run Code Online (Sandbox Code Playgroud)

但我明白了... PandasError: DataFrame 构造函数没有正确调用!

Ran*_*ash 5

您可以使用 json 包转换为 dict:

import requests
from json import loads

response = requests.get("https://min-api.cryptocompare.com/data/histodayfsym=ETC&tsym=USD&limit=10&aggregate=3&e=CCCAGG") 

dic = loads(response.text)

print(type(dic))

pd.DataFrame.from_dict(dic)
Run Code Online (Sandbox Code Playgroud)

然而,正如 jonrsharpe 所指出的,一个更简单的方法是:

import requests

response = requests.get("https://min-api.cryptocompare.com/data/histodayfsym=ETC&tsym=USD&limit=10&aggregate=3&e=CCCAGG") 


print(type(response.json()))
pd.DataFrame.from_dict(response.json())
Run Code Online (Sandbox Code Playgroud)