使用Python将Excel数据导入MySQL时出错
我正在尝试使用Python将excel电子表格中的数据导入MySQL数据库。如果在SQL查询中手动将记录添加到元组列表中,我可以做得很好,但是尝试循环遍历记录时,会出现一个错误,指出元组索引超出范围。不确定问题是什么以及如何解决。任何帮助都将不胜感激。多谢各位 附上代码和错误消息的图片使用Python将Excel数据导入MySQL时出错,python,mysql,excel,Python,Mysql,Excel,我正在尝试使用Python将excel电子表格中的数据导入MySQL数据库。如果在SQL查询中手动将记录添加到元组列表中,我可以做得很好,但是尝试循环遍历记录时,会出现一个错误,指出元组索引超出范围。不确定问题是什么以及如何解决。任何帮助都将不胜感激。多谢各位 附上代码和错误消息的图片 您好,请提供实际代码,而不是它的图像:l=list(),我想应该是l=[]我已经在原始帖子中更新了代码。将l=list()更改为l=[]并得到相同的结果。您是否尝试打印出l?是否存在突出的异常情况?也许有一个元组
您好,请提供实际代码,而不是它的图像:
l=list()
,我想应该是l=[]
我已经在原始帖子中更新了代码。将l=list()更改为l=[]并得到相同的结果。您是否尝试打印出l
?是否存在突出的异常情况?也许有一个元组没有其他元组那么多元素?@Nicoowr:谢谢你的小花絮。这正是我走上正轨所需要的推动。元组是正确的,我不需要的是SQL查询中的ID参数,因为已经考虑了自动增量。一旦我删除了它和一个%s参数,一切都正常。
import mysql.connector
import xlrd
mydb = mysql.connector.connect(
host = "localhost",
user = "root",
passwd = "*******",
database = "testdb",
)
mycursor = mydb.cursor()
loc=("E:\\SOX Reports\\2021 Reports\\populateData.xlsx")
l=list()
a=xlrd.open_workbook(loc)
sheet=a.sheet_by_index(0)
sheet.cell_value(0,0)
for i in range (1,418):
l.append(tuple(sheet.row_values(i)))
addRows = "insert into emplist (ID,SITE, OU, firstName) values(%s,%s,%s,%s)"
mycursor.executemany(addRows,l)
mydb.commit()
mydb.close()