Heim >Datenbank >MySQL-Tutorial >Warum fügt mein Python-Code keine CSV-Daten in MySQL ein?
CSV-Daten in MySQL in Python laden
Beim Versuch, CSV-Daten mit Python in eine MySQL-Tabelle zu laden, können Benutzer auf ein Szenario stoßen, in dem Der Code wird fehlerfrei ausgeführt, es können jedoch keine Daten in die Tabelle eingefügt werden. Um dieses Problem anzugehen, ist es wichtig, die Rolle von mydb.commit() in diesem Prozess zu verstehen.
Zunächst stellt die Funktion mydb.connect() eine Verbindung zur Datenbank her. Sobald ein Cursor erstellt wurde, werden die CSV-Daten gelesen und mithilfe der INSERT INTO-Anweisung in die Tabelle eingefügt. Es ist jedoch unbedingt erforderlich, nach dem Einfügen ein mydb.commit() auszuführen, um die Änderungen in der Datenbank zu speichern. Ohne diesen Schritt bleiben die Daten in einem nicht festgeschriebenen Zustand und werden in der Tabelle nicht angezeigt.
Hier ist der geänderte Code mit hinzugefügter mydb.commit():
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"
Durch Einschließen Mit mydb.commit() stellen Sie sicher, dass die Daten erfolgreich in die MySQL-Tabelle eingefügt werden.
Das obige ist der detaillierte Inhalt vonWarum fügt mein Python-Code keine CSV-Daten in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!