Как добавить 2d массив в базу данных на python

#python #mysql #arrays

#python #mysql #массивы

Вопрос:

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

 QuestionAnswer = [['x','y','z'],['x','y','z']]

(cursor.executemany('INSERT question (QuizID,question,answer) VALUES (%s,%s,%s)',QuestionAnswer)

db.commit()
  

ошибка заключается в следующем:

Обратная трассировка (последний последний вызов): Файл «C:Usersgeorgia vostAppDataLocalProgramsPythonPython37-32libtkinter__init__.py «, строка 1705, в вызове return self.файл func (*args) «C:Usersgeorgia востДокументы Личный документ НОВАЯ РАБОТАКод FolderappJarappjar.py «, строка 3494, в ответ lambda *args: Файл funcName(param) «C:Usersgeorgia vostDocuments Private Document НОВАЯ РАБОТАПапка с кодом программа prastice 1.py «, строка 37, в файле press cursor.executemany(‘ВСТАВИТЬ ЗНАЧЕНИЯ вопроса (QuizID,question,answer) (%s,%s,%s)’,QuestionAnswer) «C:Usersgeorgia vostAppDataLocalProgramsPythonPython37-32libsite-packagesmysqlconnectorcursor.py «, строка 675, в файле executemany self.execute(операция, параметры) «C:Usersgeorgia vostAppDataLocalProgramsPythonPython37-32libsite-packagesmysqlconnectorcursor.py «, строка 557, при выполнении psub = _ParamSubstitutor(self._process_params(параметры)) Файл «C:Usersgeorgia vostAppDataLocalProgramsPythonPython37-32libsite-packagesmysqlconnectorcursor.py «, строка 437, в _process_params «Не удалось обработать формат-параметры; %s» % ошибка) mysql.connector.errors.ProgrammingError: Ошибка обработки format-parameters; Python ‘method’ не может быть преобразован в тип MySQL

Ответ №1:

Возможно, потребуется много изменений в вашем существующем коде, включая синтаксис запроса

 cursor.executemany('INSERT INTO question (QuizID,question,answer) VALUES (?,?,?)',list(map(tuple,QuestionAnswer)))