Rumah >pangkalan data >tutorial mysql >Mengapa Kod Python Saya Tidak Memasukkan Data CSV ke dalam MySQL?

Mengapa Kod Python Saya Tidak Memasukkan Data CSV ke dalam MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 05:03:14931semak imbas

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

Memuatkan Data CSV ke dalam MySQL dalam Python

Apabila cuba memuatkan data CSV ke dalam jadual MySQL menggunakan Python, pengguna mungkin menghadapi senario di mana kod tersebut dilaksanakan tanpa ralat tetapi gagal memasukkan data ke dalam jadual. Untuk menangani isu ini, adalah penting untuk memahami peranan mydb.commit() dalam proses ini.

Untuk bermula, fungsi mydb.connect() mewujudkan sambungan kepada pangkalan data. Setelah kursor dibuat, data CSV dibaca dan dimasukkan ke dalam jadual menggunakan pernyataan INSERT INTO. Walau bagaimanapun, adalah penting untuk melaksanakan mydb.commit() selepas sisipan untuk menyimpan perubahan pada pangkalan data. Tanpa langkah ini, data kekal dalam keadaan tidak terikat dan tidak akan kelihatan dalam jadual.

Berikut ialah kod yang diubah suai dengan mydb.commit() ditambah:

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"

Dengan memasukkan mydb.commit(), anda memastikan bahawa data berjaya dimasukkan ke dalam jadual MySQL.

Atas ialah kandungan terperinci Mengapa Kod Python Saya Tidak Memasukkan Data CSV ke dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn