[MySQL] Utiliser un tableau (array) pour l’insertion d’une ligne
Problématique simple, vous disposez d’un fichier CSV et vous souhaitez le mettre dans une base SQL.
Certes il est possible de faire l’intégration directement, mais adieu la possibilité de modifier ou de travailler sur les données à la volée.
1ère astuce : ne pas prendre en compte l’entête
with open('monfichier.csv', newline='') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
next(csvreader, None)
L’instruction next va permettre de sauter la première ligne du fichier CSV.
2nde astuce : insérer directement une ligne de tableau
for row in csvreader:
mySql_insert_query = """INSERT INTO webdns (champs1, champs2, champ3, ...) VALUES ("%s", "%s", "%s", ... )"""
cursor.execute (mySql_insert_query, (tuple(row)))
L’instruction tuple va permettre de transformer le tableau pour qu’il soit exploitable par la commande SQL d’insertion.
3ème astuce : connaître la commande exécutée
Jamais 2 sans 3 ...
print (cursor._executed)
vous permettra d’obtenir la requête exécutée sur la base de données.
Accueil > Linux > Développement > [MySQL] Utiliser un tableau (array) pour l’insertion d’une ligne