【问题标题】:Parse requests.get() output into a pandas dataframe将 requests.get() 输出解析为 pandas 数据框
【发布时间】:2017-05-22 22:03:15
【问题描述】:

我正在学习一个教程,但我一直在解析 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)

现在我想输出到数据框...

pd.DataFrame.from_dict(response)

但我得到... PandasError:未正确调用 DataFrame 构造函数!

【问题讨论】:

  • response 不是字典 - 也许是 .from_dict(response.json())
  • 这让我更接近一点!现在它在 df 中,但是键和值都乱序了...我需要时间戳采用日期时间格式,我认为然后调用索引

标签: python pandas python-requests


【解决方案1】:

可以使用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)

然而,正如 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())

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-24
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2022-12-15
  • 2021-05-17
  • 1970-01-01
相关资源
最近更新 更多