在pyq中更新表格

时间:2018-11-01 16:37:48

标签: python python-3.x windows-10 kdb pyq

OS:Windows 10 Enterprise,Python:Python 3.6.4,PyQ:pyq (4.1.4)

我可以肯定我的数据类型是正确的,尽管在尝试向上插入表时仍然收到_k.error: type

首先,我使用以下命令初始化表...

q.set(':testTable', q('!', ["Key", "Status", "Descr", "FileName"], [K.long([]), K.int([]), K.char([]), K.symbol([])]).flip)

检查表元...

q.get(':testTable').meta.show()
c       | t f a
--------| -----
Key     | j
Status  | i
Descr   | c
FileName| s

我在python中设置了一些示例变量,并将它们分别存储在列表和字典中...

key = 42
status = 3
descr = "h"
fn = "cymbeline"
data = [key, status, descr, fn]
data_dict = {a:b for a, b in zip(['Key', 'Status', 'Descr', 'FileName'], data)}

然后,我尝试分别使用以下每个命令来向上插入表格...

q.upsert(':testTable', data)
q.upsert(':testTable', data_dict)

但是,它们都失败,并显示相同的_k.error: type消息。

我认为这里有一个简单的解决方案,但我似乎无法弄清楚。预先谢谢你。

1 个答案:

答案 0 :(得分:1)

您需要将descr显式转换为K.char类型:

descr = K.char("h")

否则,它将被隐式转换为符号,并且将出现类型错误。