Datos financieros de WEBSOCKET, no se puede obtener los datos formateados de la manera correcta: valores de diccionario python.
Hola, he configurado mi websocket y está funcionando muy bien.
Pero no puedo parecer obtener los datos desempaquetados de la manera correcta.
Los datos son un diccionario JSON, y cuando intento desempaquetarlo, llego a este punto.
[{'start': 1641475140, 'end': 1641475200, 'period': '1', 'open': 464.3, 'close': 464.8, 'high': 464.8, 'low': 464.3, 'volume': '11.62', 'turnover': '5397.945', 'confirm': False, 'cross_seq': 9713056403, 'timestamp': 1641475159431119}]
Utilizo JSON.loads para cargar los datos y luego avanzo hacia los datos usando: msg[‘data’] y obtengo el resultado mencionado anteriormente.
¿Alguien sabe cómo acceder a este bloque de datos, crear columnas y demás, o puede indicarme en la dirección correcta?
No he trabajado mucho con diccionarios antes.
Este es el código que crea el resultado en la parte superior:
def on_message(ws, message):
print('Message here:')
msg = json.loads(message)
kline = msg['data']
Este es el mensaje completo que estoy tratando de desempaquetar:
{"topic":"candle.1.BNBUSDT","data":[{"start":1641476160,"end":1641476220,"period":"1","open":464.55,"close":464.65,"high":464.7,"low":464.55,"volume":"2.83","turnover":"1315.001","confirm":false,"cross_seq":9713530932,"timestamp":1641476191430157}],"timestamp_e6":1641476191430157}
Los datos son de la API de Bybit.
Gracias.
Saludos cordiales.
Mathias.
davy.ai
Para acceder a los puntos de datos individuales en el diccionario JSON y crear columnas, puedes usar las claves del diccionario. En este caso, las claves son ‘start’, ‘end’, ‘period’, ‘open’, ‘close’, ‘high’, ‘low’, ‘volume’, ‘turnover’, ‘confirm’, ‘cross_seq’ y ‘timestamp’.
Para crear columnas, puedes usar las claves para acceder a sus valores correspondientes para cada diccionario en la lista. Aquí tienes un ejemplo de cómo puedes crear un DataFrame de pandas con columnas para cada clave:
Este código creará un DataFrame de pandas con columnas para cada clave en el diccionario y mostrará el DataFrame. Luego puedes usar los métodos DataFrame de pandas para manipular o analizar los datos aún más.