如何解决如何将多路复用套接字中的嵌套字典转换为 Pandas DataFrames?
我正在尝试将这些嵌套字典转换为 DataFrame。我已经在网上搜索了更多关于这方面的信息,但在这种特殊情况下找不到太多信息。在尝试使用 json.loads() 进行转换后,我继续遇到的问题是“类型错误:字符串索引必须是整数”错误。
这是到目前为止我必须接收多个套接字数据的协程。
import asyncio
import pandas as pd
from binance import Asyncclient,BinanceSocketManager
async def main():
client = await Asyncclient.create()
bm = BinanceSocketManager(client)
# start any sockets here,i.e a Trade socket
ms = bm.multiplex_socket(['ltcusdt@kline_1m','btcusdt@kline_1m'])
# then start receiving messages
async with ms as mscm:
while True:
res = await mscm.recv()
print(res)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
输出是嵌套字典,我只想获取 kline 定价数据(嵌套字典为“k”)并将其格式化为 Pandas 数据帧并存储在 HDF5 文件中以及直接存储到我目前拥有 OHLCV 的 Postgres 数据库创建的表。
{'stream': 'btcusdt@kline_1m','data': {'e': 'kline','E': 1627406952750,'s': 'BTCUSDT','k': {'t': 1627406940000,'T': 1627406999999,'i': '1m','f': 972731799,'L': 972733284,'o': '37761.23000000','c': '37753.06000000','h': '37761.24000000','l': '37745.74000000','v': '5.29347800','n': 1486,'x': False,'q': '199846.18941298','V': '1.87072500','Q': '70625.81836987','B': '0'}}}
{'stream': 'ltcusdt@kline_1m','E': 1627406953532,'s': 'LTCUSDT','f': 185284307,'L': 185284315,'o': '132.45000000','c': '132.41000000','h': '132.45000000','l': '132.40000000','v': '22.23228000','n': 9,'q': '2944.17206090','V': '3.11654000','Q': '412.66106140','B': '0'}}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。