Heim >Datenbank >MySQL-Tutorial >Warum fügt mein Python-Code keine CSV-Daten in MySQL ein?

Warum fügt mein Python-Code keine CSV-Daten in MySQL ein?

Linda Hamilton
Linda HamiltonOriginal
2024-11-27 05:03:14933Durchsuche

Why Doesn't My Python Code Insert CSV Data into MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn