首页 > 解决方案 > 将从 qpython 获得的 Qtable 转换为格式化字符串的简单方法

问题描述

嗨,我是 python 和 q/KDB 的新手。我正在使用 qpython 从 kdb 数据库中获取结果,执行以下操作:

q = qconnection.QConnection(host=self.host, port=self.port, username=self.username, password=self.password)
results = q.sync(query)

结果是一个 qtable。我需要将 qtable 转换为直截了当的字符串。我只需要这样做:

resultString = str(results)

然而,字符串有些复杂。并不是说该表包含日期并且它们以数字格式出现。结果字符串如下所示:

[(6606, b'XX', b'5Y', 26.67, 0.023, 4.833, -22.88, 0.4, b'sx, 570869003211035000)

 (6607, b'XX', b'5Y', 28.40, 0.025, 4.824, -22.75, 0.4, b'sx, 571128191858653000)]

我想知道是否可以直接转换 qtable 以将字符串转换为如下内容:

2018-02-01,XX,5Y,26.67,0.023,4.83,-22.88,0.4,sx,2018-02-02D06:43:23\n

2018-02-02,XX,5Y,28.40,0.025,4.82,-22.75,0.4,sx,2018-02-05D06:43:11\n

标签: pythondata-conversionkdbqpython

解决方案


您可能只想在从 kdb 中而不是在 python 中对表进行字符串化。它会给你你想要的,但数据在 python 端处理起来并不容易或高效

q)csv 0: select from t
"col1,col2"
"a,1"
"b,2"
"c,3"

尝试发行q.sync("csv 0: select from t")


推荐阅读