Как вставить список в виде столбца в MySQL с Python? - PullRequest
0 голосов
/ 28 августа 2018

Так что в основном у меня есть этот список:

L1 = ['hel-lo', 'world123', 'bye', 'python']

Я хочу вставить этот список в мою таблицу MySQL следующим образом:

+-------------------------+
|          words          |
+-------------------------+
| hel-lo                  |
| world123                |
| bye                     |
| python                  |
+-------------------------+

На самом деле мой список состоит из около 1000 элементов. Я перепробовал много вещей, которые нашел в StackOverflow, но ничего не работает. (Кажется, что элементы пытаются вставить с этим форматом "['string']").

Последнее решение, которое я пробовал:

values = [list([item]) for item in L1]
cursor.executemany(u"INSERT INTO `table`(`data`) VALUES %s", values)

Что возвращает эту ошибку:

 mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''hel-lo')' at line 1

Любые советы приветствуются!

1 Ответ

0 голосов
/ 28 августа 2018

Вам не хватает скобок вокруг списка значений в запросе (должно быть VALUES (%s)). Кроме того, list([item]) можно упростить до [item]:

L1 = ['hel-lo', 'world', 'bye', 'python']
values = [[item] for item in L1]
cursor.executemany(u"INSERT INTO `instability`(`ap_name`) VALUES (%s)", values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...