Maison >base de données >tutoriel mysql >Pourquoi mon code Python n'insère-t-il pas de données CSV dans MySQL ?
Chargement de données CSV dans MySQL en Python
Lorsqu'ils tentent de charger des données CSV dans une table MySQL à l'aide de Python, les utilisateurs peuvent rencontrer un scénario dans lequel le code s'exécute sans erreur mais ne parvient pas à insérer des données dans la table. Pour résoudre ce problème, il est crucial de comprendre le rôle de mydb.commit() dans ce processus.
Pour commencer, la fonction mydb.connect() établit une connexion à la base de données. Une fois le curseur créé, les données CSV sont lues et insérées dans la table à l'aide de l'instruction INSERT INTO. Cependant, il est indispensable d'effectuer un mydb.commit() après l'insertion pour sauvegarder les modifications dans la base de données. Sans cette étape, les données restent dans un état non validé et ne seront pas visibles dans le tableau.
Voici le code modifié avec mydb.commit() ajouté :
import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='mydb') cursor = mydb.cursor() csv_data = csv.reader(file('students.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s")', row) mydb.commit() # Save changes to database #close the connection to the database. cursor.close() print "Done"
En incluant mydb.commit(), vous vous assurez que les données sont correctement insérées dans la table MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!