Вместо этого:
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"])