Il n'est pas nécessaire d'utiliser un générateur pour boucler sur mydata
. Passez simplement mydata
directement :
cur.executemany(sql, mydata)
L'adaptateur de base de données bouclera sur mydata
pour vous et une expression de générateur insère seulement une boucle supplémentaire inutile.
Si vous ne recevez aucun message d'erreur mais qu'il n'y a aucun changement non plus, vérifiez ce qui suit :
-
Assurez-vous de valider la transaction ; exécutez
con.commit()
après le.executemany()
appeler. -
Vérification triple que
mydata
n'est pas vide.
L'adaptateur de base de données gérera correctement les valeurs flottantes pour vous ; si une colonne est marquée comme FLOAT NOT NULL
et vous transmettez une valeur flottante Python pour cette colonne, Things Just Work. C'est à cela que servent les paramètres SQL, gérer correctement la citation de différents types de données.