- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
用用python对对excel查查重重
最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能个程序让它自动查重标记
必须安排
第一次正儿八经python,边上网查资料,边
终于成功了
在此记录一下
首首先先安安装装xlwings库库
pipinstallxlwings
代代码码
importxlwingsasxw
#输入表名
title=input()
#指定不显示地打开Excel,读取Excel文件
app=xw.App(visible=False,addbook=False)
wb=app.books.open(title)#打开Excel文件
sheet=wb.sheets[0]#选择第0个表单
#获取表行数
sheetInfo=sheet.usedrange
maxRow=sheetInfo.lastcell.row
#maxColumn=sheetInfo.lastcell.column
#print(表行数:,maxRow)
#单据编号
num=[]#报销类型
baoxiaoType=[]#部门
department=[]#收款方
name=[]#报销金额
money=[]
#将需要的数据读取保存
forrowinrange(2,maxRow):
value=sheet.range(A+str(row)).value
num.append(value)
value=sheet.range(C+str(row)).value
baoxiaoType.append(value)
value=sheet.range(H+str(row)).value
department.append(value)
value=sheet.range(N+str(row)).value
name.append(value)
value=sheet.range(K+str(row)).value
money.append(value)
#print(num)
#print(baoxiaoType)
#print(department)
#print(name)
#print(money)
#保存标记为重复的行号
flag=[]#判断是否已经标记为重复
#重复返回Ture
#否则返回False
defisRepeat(index):
fornuminflag:
ifnum==index:
returnTrue
else:
continue
returnFalse
#遍历每一行,进行查重
forrowinrange(0,len(money)):
#判断是否已经标记为重复
#如果重复不做判断,结束本次循环
#否则断续向下执行
ifTrue==isRepeat(row+2):
continue
elifFalse==isRepeat(row+2):
#获取当前行数据
current=money[row]#遍历后面行是否和当前行数据重复
forsubRowinrange(1,len(money)):
#获取下一行数据
subCur=money[subRow]#判断当前行内容和对比行内容是否相等
ifcurrent==subCur:
#再判断编号行内容是否相等
ifnum[row]==num[subRow]:
continue
else:
#对比其它内容是否相等
if(
(department[row]==department[subRow])
and(baoxiaoType[row]==baoxiaoType[subRow])
and(name[row]==name[subRow])
):
#将重复行行号保存,表格的表头,且表头行号从1开始,所以行号等于当前索引+2
flag.append(subRow+2)
#设置两个重复行的首列单元格颜色
cell=sheet.range(A+str(row+2))
cell.color=0,255,255
subcell=sheet.range(A+str(subRow+2))
subcell.color=0,255,255
您可能关注的文档
- 从12V到plusmn;15V电路_AC_DCAD电子.pdf
- MATLABMATLAB实现基于Transformer-SV文档.docx
- 变频器中IGBT爆炸原因分析,深入透彻!_igbt炸管原因资.pdf
- 20080814数据库表及字段说明.doc
- redis-Redis集群下过期key监听的实现代码.pdf
- 04-0309-01信息安全设计方案评审表.doc
- 耐视康耐视PatMax实现视觉导向机器人系统.pdf
- HIS系统接口的说明x资源.docx
- 软件设计师英文真题、译文及答案1.doc
- RTL8201--电子电路原理图.pdf
- Android实现系统打印功能_android实现打印功能,.pdf
- 伺服压力机与MCGS、昆仑通态触摸屏:实时曲线、历史数据存盘与完整PLC程序功能概述.pdf
- STM32-DMA传输异常问题分析与解决方案.docx
- 基于Qt+Opencv+c++的灰度信息ncc模板匹配算法:跨平台、高效率、稳定性强的全新实现.pdf
- 2-1绝缘电阻算法电机绝缘电阻多少正常资源.doc
- 从EMC应用来解析磁珠接地_磁珠接地资源.pdf
- 【测试文档】模板:三方测试方案_软件第三方测试方案,三方测试.docx
- USB 2.0接口电磁兼容(MC)解决方案.pdf
- RabbitMQ从入门到精通:全方位实战指南x.docx
- 两台逆变器并机仿真:采用下垂控制与功率自适应平摊的C语言代码实现,方便移植至ARM或DSP.pdf
原创力文档


文档评论(0)