Добавление значений данных в качестве параметров в SQL-запрос - PullRequest
0 голосов
/ 20 сентября 2018

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

for index,frame in df1.iterrows():

      sql = "select * from issuers where column_1 = %s;"
      cur.execute(sql, frame['column_1'])
      row = cur.fetchone()
      id = row[0]
      print id

Но я получаю следующую ошибку

«Ошибка типа: не все аргументы преобразуются при форматировании строки»

Как я могу решить эту проблему?Если мне нужно добавить несколько параметров, как я могу это сделать?

1 Ответ

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

Вместо этого:

cur.execute(sql, frame['column_1'])

Попробуйте это:

cur.execute(sql, [frame['column_1']])

Второй параметр execute - это список, содержащий все значения, которые нужно вставить в sql.

Чтобы вставить несколько значений, используйте что-то следующее:

sql = "select * from issuers where column_1 = %s and column_2 = %s;"
cur.execute(sql, ["val1", "val2"])

Для получения дополнительной информации, пожалуйста, обратитесь к документации

РЕДАКТИРОВАТЬ

Вот пример для INSERT INTO в SQL.

sql = "INSERT INTO user (firstname, lastname) VALUES (%s, %s)"
cur.execute(sql, ["John", "Doe"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...