使用python将excel数据导入mysql时出错仅插入一行

使用python将excel数据导入mysql时出错仅插入一行,python,Python,我试图在视频教程的帮助下使用Python将excel数据导入MySQL,但我遇到以下问题: 只有excel文件中的第一行被插入到mysql中,并出现以下错误 cursor.execute(query, values) line 179 in execute 这是我的密码 import xlrd import MySQLdb book=xlrd.open_workbook("C:\Python27\mygdata.xls") sheet=book.sheet_by_name(

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

只有excel文件中的第一行被插入到mysql中,并出现以下错误

cursor.execute(query, values) line 179 in execute
这是我的密码

import xlrd
import MySQLdb
book=xlrd.open_workbook("C:\Python27\mygdata.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"

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

cursor.execute(…)
后面的所有行都应该在
for
循环之外。在插入第一行之后,您正在关闭连接和数据库。非常感谢您,先生,如果您不介意再问一个问题,我如何获得导入的数量records@sharankumar签出
cursor.rowcount