Fehlerbehebung beim Laden von CSV-Daten in MySQL in Python
Beim Versuch, CSV-Daten in eine MySQL-Tabelle zu laden, kann es vorkommen, dass die Der Code läuft fehlerfrei, die Zieltabelle bleibt jedoch leer. Um dieses Problem zu beheben, beachten Sie Folgendes:
Problem:
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"
Lösung:
Um sicherzustellen, dass die Damit die Daten erfolgreich in die Tabelle eingefügt werden, muss die Methode mydb.commit() aufgerufen werden. Diese Methode schreibt die Änderungen in die Datenbank. Der korrigierte Code mit der notwendigen Änderung lautet:
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"
Das obige ist der detaillierte Inhalt vonWarum schlägt das Laden meiner Python-MySQL-CSV-Daten fehl, obwohl keine Fehler vorliegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!