xlrd
(sql执行列表插入)
wb = xlrd.open_workbook(excel_file) # 打开excel文件
sh = wb.sheet_by_index(0) # 读取第一个sheet页
row_num = sh.nrows # 获取总行数
print(row_num)
row_value = [] # 定义列表用来存放数据
for i in range(2, row_num): # 第一行和第二行是标题名,对应表中的字段名所以应该从第二行开始,计算机以0开始计数,所以值是2
row_data = sh.row_values(i) # 按行获取excel的值
print('row_data:', row_data)
value = (row_data[0],row_data[1],int(row_data[3]))
row_value.append(value) # 将数据暂存在列表
sql = "INSERT INTO [EP1](Machine,EquipNo,[∑Qty]) VALUES (%s,%s,%s)" # 插入的sql语句
cursor.executemany(sql,row_value) # A执行语句
(sql赋值一条一条插入)
wb = xlrd.open_workbook(excel_file) # 打开excel文件
sh = wb.sheet_by_index(0) # 读取sheet页
row_num = sh.nrows # 获取总行数
print(row_num)
row_value = [] # 定义列表用来存放数据
for i in range(2, row_num): # 第一行和第二行是标题名,对应表中的字段名所以应该从第三行开始,计算机以0开始计数,所以值是1
row_data = sh.row_values(i) # 按行获取excel的值
print('row_data:',row_data)
row_value.append(row_data) # 将数据暂存在列表
print(row_value)
for v in row_value:
machineNo = v[0]
equipNo = v[1]
Qty = int(v[3])
sql = f"INSERT INTO [EP1](Machine,EquipNo,[∑Qty]) VALUES ('{machineNo}','{equipNo}','{Qty}')" # 插入的sql语句
cursor.execute(sql) # A执行语句
Openpyxl
wb = load_workbook(excel_file) # 打开excel文件
sh = wb['Report'] # 读取sheet页
row_num = sh.max_row # 获取总行数
print(row_num)
for i in range(3, row_num+1): ***# 第一行和第二行是标题名,对应表中的字段名所以应该从第三行开始,计算机以1开始计数,所以值是3,所以截至的行数也要加1***
machineNo = sh.cell(row=i,column=1).value 列是从第一列开始,不是从0计数
equipNo = sh.cell(row=i,column=2).value
Qty = int(sh.cell(row=i,column=4).value)
sql = f"INSERT INTO [EP1](Machine,EquipNo,[∑Qty]) VALUES ('{machineNo}','{equipNo}','{Qty}')" # 插入的sql语句
cursor.execute(sql) # A执行语句