Dépannage du chargement de données CSV dans MySQL en Python
En essayant de charger des données CSV dans une table MySQL, on peut rencontrer la situation où le le code s'exécute sans erreur, mais la table cible reste vide. Pour résoudre ce problème, considérez les éléments suivants :
Problème :
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) #close the connection to the database. cursor.close() print "Done"
Solution :
Pour vous assurer que le les données sont insérées avec succès dans la table, il est nécessaire d'appeler la méthode mydb.commit(). Cette méthode valide les modifications dans la base de données. Le code corrigé avec la modification nécessaire est :
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) # Commit the data to the database. mydb.commit() #close the connection to the database. cursor.close() print "Done"
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!