Вставьте список целых чисел в столбец базы данных - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь вставить список целых чисел в столбец таблицы данных. Если я запускаю следующий код:

c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", list_with_integers)
conn.commit()

Я получаю следующую ошибку:

c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", list_with_integers)
ValueError: parameters are of unsupported type

Я не понимаю, что я делаю не так. Я проверил и убедился, что все элементы списка являются целыми числами, и если я пытаюсь запустить

c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", [list_with_integers])

Я получаю:

c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", [list_with_integers])
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 559 supplied.

Вопрос: Как решить эту проблему и вставить список целых чисел в столбец?

1 Ответ

0 голосов
/ 09 сентября 2018

Параметр метода executemany должен быть последовательностью кортежей, поэтому вы должны преобразовать список целых чисел в последовательность из 1 кортежа:

c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", map(lambda i: (i,), list_with_integers))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...