Python Streaming API中如何把handler处理的数据存到python的dataframe中?

参考了python-api教程的第十章 python streaming api 的内容,我的需求是想把在 handler 处理后的table数据增量存到python的一个dataframe当中,请问代码应该怎么写?

请先 登录 后评论

1 个回答

Jason Tang - 时序数据库技术支持

上述需求的python的示例代码:

import dolphindb as ddb
import pandas as pd
from threading import Event
s = ddb.session()
s.enableStreaming(8255)

df_temp = pd.DataFrame(columns=['time', 'sym', 'price', 'id']) 

def handler(lst):
    global df_temp
    if len(lst):
        print("Receive data from ddb")
        df_temp = df_temp.append(pd.DataFrame([lst],columns=['time', 'sym', 'price', 'id']), ignore_index=True)
        print(df_temp)
    else:
        print("Get empty list from ddb")

s.subscribe("192.168.1.124", 8848, handler, "trades", "action", 0, False,)
Event().wait()

每一次触发handler的数据将增量添加到df_temp中。

请先 登录 后评论