我有一个工作良好的WEBsocket,以前一直在使用WEBsocket而没有遇到任何问题。我从Bybit API绘制数据,但我似乎无法正确解析时间戳,也无法找到解决问题的方法,也无法为我指明可能有帮助的方向。
这是我的代码:
live_D = []
def on_open(ws):
print('streamopen')
ws.send('{"op":"ping"}');
ws.send('{"op":"subscribe","args":["candle.1.BNBUSDT"]}')
def on_message(ws, message):
print('Message here:')
# print(message)
msg = json.loads(str(message))
kline = msg['data'][0]
klineT = kline['timestamp']
# print(klineT)
open = kline['open']
high = kline['high']
low = kline['low']
close = kline['close']
volume = kline['volume']
live_D.append(klineT)
live_D.append(float(open))
live_D.append(float(high))
live_D.append(float(low))
live_D.append(float(close))
live_D.append(float(volume))
live_Df = pd.DataFrame(live_D)
live_Df.columns = ['date', 'open', 'high', 'low', 'close', 'volume']
datee = []
for time in live_Df['date'].unique():
readable = datetime.utcfromtimestamp(int(time / 1000))
datee.append(readable)
这是我的完整数据帧:
date open high low close volume
0 1.641482e+15 466.85 466.85 466.2 466.2 12.84
这是一个单独的日期:
1641482192430132.0
我也试着用1000来划分我的时间戳,因为它是以毫秒为单位的,但我仍然得到Errno 22错误
然后时间戳看起来是这样的:它是新数据,所以看起来与上面的前两个粘贴不同:
1641486480430.115
我希望你能帮助我。
谢谢。顺致敬意,
马蒂亚斯。
好吧,所以bybit的时间分辨率非常高,所以用1000000除以我的时间戳就成功了,并给出了正确的日期。GL希望你能使用它。