开发者问题收集

Python 脚本在 jupyter notebook 上运行但在本地不运行

2021-12-27
253

该代码在 replit.com 和 jupyter notebook 中运行良好,但在我的本地环境中却无法运行。

我不明白为什么。它要么说:名称“elem”未定义(第 61 行),要么说空 DataFrame 列:[price] 索引:[]。

代码:

...


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 notebook 上运行良好:

.BVOL24H
              price
timestamp              
2021-12-27 17:15   1.97
2021-12-27 17:20   1.97
...
2021-12-27 18:10   1.99

编辑:它无法运行,因为时区不同,并且对其应用了增量,列表为空,因为它无法获取数据,因此局部变量在“赋值之前”被引用。

1个回答

您可以尝试确定“requests.get(url, params=params)”是否返回预期值。首先查看响应的 status_code:

response.status_code

如果代码不是 200,则调用本身可能存在问题。

如果代码为 200,请检查响应中实际包含的内容:

print(response.json())
que
2021-12-27