我正在通过API调用从芝加哥商品交易所访问期货价格数据。
我正在使用一个URL,当我将其发布到浏览器中时,该URL返回一个csv文件(gzip压缩)。但是,我确实需要用python编写一个程序,该程序可以接收数千个URL并处理接收到的数据。在python的request.get()命令中使用此URL时,得到一个我不知道如何读取的响应。
import requests
url='https://datamine.cmegroup.com/cme/api/v1/download?fid=20181211-
EOD_xcbt_ff_fut_0-eth_p'
user = '***'
password = '***'
r = requests.get(url, auth=(user, password))
print(r.headers)
除其他外,返回的内容:
{
'Date': 'Sun, 30 Dec 2018 13:01:07 GMT',
'Content-Type': 'application/x-gzip',
'Content-Length': '1287',
'Content-disposition': 'attachment; filename="xcbt-eodp-ff-fut-20181211.csv.gz"'
}
我假设我要获取的价格包含在元素'attachment; filename="xcbt-eodp-ff-fut-20181211.csv.gz"'
中。
我的问题:
如何从收到的回复中获取价格?
然后,如何将数据导入DataFrame
?
只需使用:
print(r.content)
不返回数值。
答案 0 :(得分:0)
您应该执行以下操作:
resp = requests.get(url)
# for now it's a Response object. Make a json out of it
json_resp = resp.json()
print(json_resp.get('some_key')) # or what ever you need
然后使用简单的dict功能提取所需的内容。