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消息中失败。
我想这里有一个简单的解决方案,但我似乎想不出答案。提前谢谢你。
发布于 2018-11-01 17:46:07
您需要显式地将descr转换为K.char类型:
descr = K.char("h")否则,它将被隐式转换为一个符号,您将得到一个类型错误。
https://stackoverflow.com/questions/53105567
复制相似问题