xlrd和openpyxl读excel中数值区别

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执行语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值