在 Python 中將 CSV 資料載入到 MySQL
此程式碼片段嘗試將 CSV 資料載入到 MySQL 資料庫表中。但是,使用者遇到了一個問題,即沒有任何內容插入到表中。
程式碼使用 csv 和 MySQLdb 模組讀取 CSV 檔案並將其資料插入名為 testcsv 的 MySQL 表中。 CSV 檔案預計包含三列:名稱、類別和標記。
執行程式碼後,使用者不會報告任何錯誤訊息,但表仍為空。為了解決這個問題,程式碼缺少一個關鍵步驟:將變更提交到資料庫。
在 MySQL 中,對資料庫所做的變更(例如插入新記錄)在提交之前不是永久的。預設情況下,MySQL 以自動提交模式運行,這表示每個語句都會自動提交。但是,在某些情況下,例如處理事務時,需要明確提交變更。
在提供的程式碼中,插入每行資料後缺少以下行:
mydb.commit()
新增此行將確保每個 INSERT 語句所做的變更都提交至資料庫。因此,資料將成功插入到 testcsv 表中。更新後的程式碼應如下所示:
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() #close the connection to the database. cursor.close() print "Done"
透過在每次插入操作後提交更改,使用者可以確保資料永久儲存在 MySQL 表中。
以上是為什麼我的 Python 程式碼沒有將 CSV 資料插入我的 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!