代码在replit.com和jupyter笔记本中运行良好,但在我的本地环境中不起作用。
我不明白为什么。它要么说:name"elem"未定义(第61行(,要么说Empty DataFrame Columns:[price]Index:[]。
代码:
...
url = "https://www.bitmex.com/api/v1/trade"
filters = {
'startTime': td
}
params = {
'symbol': '.BVOL24H',
'filter': json.dumps(filters),
}
response = requests.get(url, params=params)
bvol24_list = []
for elem in response.json():
elem['timestamp'] = pd.to_datetime(elem['timestamp'], format="%Y-%m-%d %H:%M")
mins = elem['timestamp'].strftime("%Y-%m-%d %H:%M")
bvol24_list.append([elem['price'], mins])
vol_df = pd.DataFrame(data=bvol24_list, columns=['price', 'timestamp'])
vol_df = vol_df.set_index('timestamp')
print(elem['symbol'])
print(vol_df)
它确实在jupyter笔记本上运行良好:
.BVOL24H
price
timestamp
2021-12-27 17:15 1.97
2021-12-27 17:20 1.97
...
2021-12-27 18:10 1.99
编辑:由于时区不同和应用了delta,所以它不起作用,列表为空,因为它无法获取数据,所以引用了本地变量";分配之前";。
您可以尝试确定;requests.get(url,params=params("返回所需的值。首先查看响应的状态_代码:
response.status_code
如果代码不是200,那么调用本身可能有问题。
如果代码是200,请检查响应中实际包含的内容:
print(response.json())