No es necesario usar un generador para recorrer mydata
. Solo pasa mydata
directamente:
cur.executemany(sql, mydata)
El adaptador de base de datos recorrerá mydata
para usted y una expresión generadora solo inserta un bucle extra innecesario.
Si no recibe ningún mensaje de error pero tampoco hay cambios, verifique lo siguiente:
-
Asegúrese de confirmar la transacción; ejecutar
con.commit()
después de.executemany()
llamar. -
Control triple que
mydata
no está vacío.
El adaptador de la base de datos manejará correctamente los valores flotantes por usted; si una columna está marcada como FLOAT NOT NULL
y pasa un valor flotante de Python para esa columna, Things Just Work. Para eso están los parámetros SQL, manejar correctamente las cotizaciones de diferentes tipos de datos.