将分表中的相关数据到总表中进行对比,如果数据在总表中存在,则存储到新的表格 “匹配.xls”
import xlrd
import xlwt
import xlutils
from xlutils.copy import copy
# 打开表格并获取
allTable = xlrd.open_workbook("E://总表.xlsx")
allShell = allTable.sheet_by_index(0)
allCol = allShell.col_values(16)
myTable = xlrd.open_workbook("E://分表.XLS")
myShell = myTable.sheet_by_index(0)
myCol = myShell.col_values(17)
hasList = []
# myShell 一共有544行,range 默认从0开始,不包含结束值544
for i in range(544):
# 判断分表指定数据是否在总表存在
if myCol[i] in allCol:
# 如果存在存储索引并执行下一个循环
hasList.append(i)
continue
print(hasList)
# 保存数据到新表
workbook = xlwt.Workbook(encoding = 'utf-8')
worksheet = workbook.add_sheet('Worksheet')
# 循环遍历出匹配到的数据的索引值
for n in hasList:
# 获取到整行数据
myRow = myShell.row_values(n)
# 数据有31列
for i in range(31):
# 参数(行,列,插入值)
worksheet.write(n,i,myRow[i])
# 保存
workbook.save('E://匹配.xls')