Python xlrd将excel表的指定数据copy到另一个excel表格中

要复制excel表的内容:

分别在第15、16、17、18、19列

第二张的excel表格:

代码部分:


import xlrd
from datetime import datetime
from xlutils.copy import copy
excel_file = '2018材料出库单列表(含项目)研发0902-飞.XLS'               #导入excel数据
data=xlrd.open_workbook(excel_file)            # ----读取excel----
table = data.sheet_by_name("sheet1")            # 通过名称获取sheet
wb=xlrd.open_workbook('PMT1010S-SA-WT领料单.xls',formatting_info=True)       #打开另一张excel的表格 模板
new_wb =copy(wb)         #将xlrd对象拷贝转化为xlwt对象,要用到xlutils模块
new_sheet = new_wb.get_sheet(0)         #读取Excel的第一张工作表
rowx=5  #第二张excel要填入数据的行号
j=1
#将数放到指定的位置
for i in range(table.nrows):
    if table.row(i)[23].value=='PMT1004S-SG-ZT':   #根据某列的值进行筛选23列号   细分
        print(table.row_values(i, start_colx=0, end_colx=None)) #打印你筛选出来的数据
        print(table.row_values(i, start_colx=15, end_colx=19))   #开始15列 结束19列
        if  table.row(i)[5].value==43129.0:#根据某行的一个值进行第二次筛选
            #将筛选出来的数据写入第二个excel
            new_sheet.write(2, 3, table.cell_value(i, 5))
            new_sheet.write(rowx, 0, j)      # 行  列   内容#序号
            new_sheet.write(rowx, 1, table.cell_value(i,15))     #材料编码
            new_sheet.write(rowx, 2, table.cell_value(i,16))    #材料名称
            new_sheet.write(rowx, 3, table.cell_value(i,17))    #规格型号
            new_sheet.write(rowx, 4, table.cell_value(i,18))    #主计量
            new_sheet.write(rowx, 5, table.cell_value(i,19))    #数量
            j+=1        #序号+1
            rowx+=1     #换到下一行数据
new_wb.save('PMT1010S-SA-WT领料单2.xlsx')   #将表格保存为新的表格,也可以覆盖原来的模板

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值