在 Python 中解决 CSV 数据加载到 MySQL 的问题
在尝试将 CSV 数据加载到 MySQL 表中时,可能会遇到以下情况:代码运行没有错误,但目标表仍为空。要解决此问题,请考虑以下事项:
问题:
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"
解决方案:
确保数据成功插入表后,需要调用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) # Commit the data to the database. mydb.commit() #close the connection to the database. cursor.close() print "Done"
以上是尽管没有错误,为什么我的 Python MySQL CSV 数据加载失败?的详细内容。更多信息请关注PHP中文网其他相关文章!