使用 Python 将 Excel 数据导入 MySQL 时出错,仅插入一行



我正在尝试在视频教程的帮助下使用Python将excel数据导入MySQL,但我有以下问题:

只有Excel文件中的第一行入到MySQL中,并得到以下错误

cursor.execute(query, values) line 179 in execute

这是我的代码

import xlrd
import MySQLdb
book=xlrd.open_workbook("C:Python27mygdata.xls")
sheet=book.sheet_by_name("Sheet1")
database=MySQLdb.connect(host="Localhost", user="root", passwd="sharan246", db="test1")
cursor=database.cursor()
query=""" INSERT INTO omrdata (regno,name,subject,barcode,flag1) values (%s,%s,%s,%s,%s)"""
for r in range(1, sheet.nrows):
    regno = sheet.cell(r, 0).value
    name= sheet.cell(r, 1).value
    subject=sheet.cell(r, 2).value
    barcode=sheet.cell(r, 3).value
    flag1=sheet.cell(r, 4).value
    values=(regno,name,subject,barcode,flag1)
    cursor.execute(query, values)
    cursor.close()
    database.commit()
    database.close()
    print ""
    print "All done bye for now"
    print ""
    columns=str(sheet.ncols)
    print"i Just Imported"

您关闭光标cursor.close()并在 for 循环中database.close(),但在开始时只打开一次。 尝试将这些行移到 for 循环之外,看看它是否有帮助。

最新更新