Você precisa perder as aspas em torno de
%s
, depois disso você precisa saber que o segundo argumento para cursor.execute()
é uma tupla, e que uma tupla é escrita:(item,)
observe a vírgula. A solução é então:
sql="""INSERT INTO table (col1) VALUES (%s)"""
cursor.execute(sql, (x,))