Upsert к столу в pyq - PullRequest
       9

Upsert к столу в pyq

0 голосов
/ 01 ноября 2018

ОС: 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 голосов
/ 01 ноября 2018

Вам необходимо явно привести descr к типу K.char:

descr = K.char("h")

в противном случае он будет неявно преобразован в символ, и вы получите ошибку типа.

...