Vous enveloppez chaque argument individuel dans un tuple
; ne faites pas ça. C'est-à-dire, faites ceci à la place :
dbcur.execute(
"""INSERT INTO scripting (URL, Title, Content, Month, Date, Year, Time, TimeZone)
VALUES ("%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")""",
(URL[i], Title[i], Content[i], Month[i], Date[i], Year[i], Time1[i], TimeZone[i]))
Vous n'avez qu'à envelopper tous valeurs substituées dans un tuple, sans exception.
Je peux comprendre pourquoi vous êtes confus ("URL :url. J'ai défini ceci avec tuple et tout va bien." ) :avec DBAPI un simple la valeur doit également être enveloppée dans 1-tuple dans l'exemple suivant), mais c'est toujours la même règle qui s'applique ici :
dbcur.execute('INSERT INTO scripting (URL) VALUES (%s)', (URL,))
Maintenant, nous remplaçons uniquement URL
, mais nous enveloppons toujours "tout", par ex. cet argument unique, dans un tuple.