最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能写个程序让它自动查重标记
必须安排
第一次正儿八经写python,边上网查资料,边写
终于成功了
在此记录一下

  1. 首先安装xlwings
pip install xlwings
  1. 写代码
import xlwings as xw# 输入表名
title = input()# 指定不显示地打开Excel,读取Excel文件
app = xw.App(visible=False, add_book=False)
wb = app.books.open(title)  # 打开Excel文件
sheet = wb.sheets[0]  # 选择第0个表单# 获取表行数
sheetInfo = sheet.used_range
maxRow = sheetInfo.last_cell.row
# maxColumn = sheetInfo.last_cell.column
# print('表行数:',maxRow)# 单据编号
num = []
# 报销类型
baoxiaoType = []
# 部门
department = []
# 收款方
name = []
# 报销金额
money = []# 将需要的数据读取保存
for row in range(2, maxRow):value = sheet.range("A" + str(row)).valuenum.append(value)value = sheet.range("C" + str(row)).valuebaoxiaoType.append(value)value = sheet.range("H" + str(row)).valuedepartment.append(value)value = sheet.range("N" + str(row)).valuename.append(value)value = sheet.range("K" + str(row)).valuemoney.append(value)# print(num)
# print(baoxiaoType)
# print(department)
# print(name)
# print(money)# 保存标记为重复的行号
flag = []
# 判断是否已经标记为重复
# 重复返回Ture
# 否则返回False
def isRepeat(index):for num in flag:if num == index:return Trueelse:continuereturn False# 遍历每一行,进行查重
for row in range(0, len(money)):# 判断是否已经标记为重复# 如果重复不做判断,结束本次循环# 否则断续向下执行if True == isRepeat(row + 2):continueelif False == isRepeat(row + 2):# 获取当前行数据current = money[row]# 遍历后面行是否和当前行数据重复for subRow in range(1, len(money)):# 获取下一行数据subCur = money[subRow]# 判断当前行内容和对比行内容是否相等if current == subCur:# 再判断编号行内容是否相等if num[row] == num[subRow]:continueelse:# 对比其它内容是否相等if ((department[row] == department[subRow])and (baoxiaoType[row] == baoxiaoType[subRow])and (name[row] == name[subRow])):# 将重复行行号保存,表格的表头,且表头行号从1 开始,所以行号等于当前索引+2flag.append(subRow + 2)# 设置两个重复行的首列单元格颜色cell = sheet.range("A" + str(row + 2))cell.color = 0, 255, 255subcell = sheet.range("A" + str(subRow + 2))subcell.color = 0, 255, 255# 打印提示print("重复起始行:", row + 2, "重复行", subRow + 2)# 保存当前工作簿
wb.save()
# 关闭当前工作簿
wb.close()
# 退出excel程序
app.quit()
# 阻塞不退出
input("Press Any Key")
  1. 鉴于媳妇办公电脑不方便安装python环境,所以打包成exe可执行程序,使用pyinstaller工具

安装

pip install pyinstaller

打包

# -F 打包为单文件
# -i 指定图标
pyinstaller -F *.py -i *.ico

Python 进行excel查重相关推荐

  1. python 列表查重_用python对excel查重

    这篇文章我们来讲一下在网站建设中,用python对excel查重.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的 ...

  2. python文件查重并合并_用python对excel查重

    最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能写个程序让它自动查重标记 必须安排 第一次正儿八经写python,边上网查资料,边写 终于成功了 在此记录一下 首先安装 ...

  3. Excel 查重小技巧,适用于office2003

    Excel 查重小技巧,适用于office2003 选中区域,格式,条件格式,公式  COUNTIF($A$1:$A$100,A1)>1 A代表列数,100代表行数,根据实际情况修改啦 很实用 ...

  4. python 读取excel 批量 重命名文件夹

    python 读取excel 批量重命名 文件夹 需求 使用的库 旧颜和新欢 过程 renamefile.py operateExcel.py 最后打包生成exe 需求 接到老婆大人说帮同事写一个 有 ...

  5. 基于Python的作业查重系统的设计和实现

    <基于Python的作业查重系统的设计和实现>该项目采用技术Python的django框架.mysql数据库,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码 ...

  6. python照片查重_Python 进行excel查重

    最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能写个程序让它自动查重标记 必须安排 第一次正儿八经写python,边上网查资料,边写 终于成功了 在此记录一下 首先安装 ...

  7. python知网查重_用Python写了个检测抄袭/文章去重算法(nshash)

    中国人有句话叫"天下文章一大抄",但是在正规场合下"抄"是要付出代价的,比如考试.写论文是不能抄的,一旦被发现后果相当严重.在互联网出现之前,"抄&q ...

  8. excel查重_发票查重工具,不止查重这么简单,你还可以体验这些新玩法

    电子发票报销是目前所有行业的会计都要面对的一项重要工作,而目前电子发票报销的普遍方式都是打印报销,这样一来,会计就不得不面对企业员工将电子发票重复打印报销和篡改报销的风险,而其中,尤其以重复打印报销是 ...

  9. python知网查重多少钱_他文献查到凌晨两点,我用Python十分钟搞定!

    大家好,我是爱学习的趣习君. 对于应届毕业生来说,今年一定是难熬的一年.本来找工作.写论文就已经是两座大山了,还要面临论文无指导的额外压力. 这让我想到了去年毕业的表弟,当时他为了完成论文,摔烂了三个 ...

最新文章

  1. http://download.eclipse.org/technology/m2e/releases install error
  2. 文本分类入门(五)训练Part 2
  3. 华大 MCU 之一 HC32F460 替换 STM32F411 移植记录
  4. SAP Spartacus打印Occ endpoint请求的url
  5. 在基于Spring MVC的应用程序中配置favicon.ico
  6. 获取远程文件内容之浏览器模拟器(BrowserEmulator)
  7. 中小企业上ERP项目不可回避的9个基本问题
  8. TCMalloc内存分配器如何减少内存碎片?
  9. C++ Traits技术
  10. Java中抽象类和接口的区别(来源二,原始来源不明确)
  11. 客户流失预警模型怎么做?
  12. vmware提示虚拟机似乎正在使用中
  13. 多屏互动电脑版_手机、电脑屏幕太小怎么办?这4招秒变大屏
  14. 管螺纹如何标注_螺纹基础知识,螺纹的种类,螺纹的要素和螺纹的画法
  15. Marlin代码分析一些记录
  16. 三种循环语句的详解和使用(for,while,do-while)
  17. 面试经常考的五个Sql查询
  18. Rasa课程、Rasa培训、Rasa面试系列之:Rasa客户案例PicPay公司
  19. Clang调试诊断信息Expressive Diagnostics
  20. 塞拉菲娜创始人 - 钰儿

热门文章

  1. 前端开发常见的缩写词中英文对照
  2. keil软件不显示.h文件问题
  3. 如何在iPhone应用中避免内存泄露
  4. EDM初级:什么是EDM邮件营销?EDM营销的定义
  5. vue-live2d 看板娘
  6. 电脑报错 :file:\boot\bcd 0xc000014c
  7. 【机器学习】补完计划
  8. nvm 管理 node 版本
  9. 用python绘制小猪佩奇
  10. 一般熟练盲打需要多久_学会盲打要多长时间,每天要练多长时间 盲打要练多久...