在抓取OKEX交易所的比特币价格数据时,发生上述错误
尝试各种办法都没有解决,最后才发现,是不是程序问题,是OKEX给予的api返回值问题.
上述代码中使用的是V3版本的api,如果换成V1版本,就可以正常使用了.
- 解决方案一
简单点就直接用V1版本,不深究了
- 解决方案二
用V3版本也是的可以的,在构建输出的DataFrame时,加上index=[0]参数就可以了.同时要将dtype= 'float’参数删除,因为V3返回数据与V1返回数据不同,V3中有字符串格式的没法转变成’float’格式
# V1版本api对应相关代码
url = 'https://www.okex.com/api/v1/ticker.do?symbol=%s' % symbol
df = pd.DataFrame(json_data,dtype='float',index=[0])
# V3版本api对应相关代码
url = 'https://www.okex.com/api/spot/v3/instruments/%s/ticker' % symbol
df = pd.DataFrame(json_data,index=[0])
v1版本api返回值都是数据;
v3版本api返回值中不仅有数据,还有字符串,不能全部转化成’float’,因此报错
.
.
.
2018-11-25 23:04:55写于滨州