Non è necessario utilizzare un generatore per eseguire il loop su mydata
. Basta passare mydata
direttamente:
cur.executemany(sql, mydata)
L'adattatore del database eseguirà il loop su mydata
per te e un'espressione del generatore inserisce solo un ciclo extra inutile.
Se non ricevi alcun messaggio di errore ma non ci sono nemmeno modifiche, controlla quanto segue:
-
Assicurati di confermare la transazione; esegui
con.commit()
dopo il.executemany()
chiama. -
Controllo triplo quel
mydata
non è vuoto.
L'adattatore del database gestirà correttamente i valori float per te; se una colonna è contrassegnata come FLOAT NOT NULL
e passi un valore float Python per quella colonna, Things Just Work. Ecco a cosa servono i parametri SQL, gestendo correttamente le citazioni di tipi di dati diversi.