0

操作系统: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消息。

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

4

1 回答 1

1

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

descr = K.char("h")

否则它将被隐式转换为符号,您将收到类型错误。

于 2018-11-01T17:46:07.590 回答