python照片查重_Python 进行excel查重
最近媳妇工作上遇到一个重复性劳动,excel表格查重,重复的标记起来,问我能不能写个程序让它自动查重标记
必须安排
第一次正儿八经写python,边上网查资料,边写
终于成功了
在此记录一下
首先安装xlwings库
pip install xlwings
写代码
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)).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
def isRepeat(index):
for num in flag:
if num == index:
return True
else:
continue
return False
# 遍历每一行,进行查重
for row in range(0, len(money)):
# 判断是否已经标记为重复
# 如果重复不做判断,结束本次循环
# 否则断续向下执行
if True == isRepeat(row + 2):
continue
elif 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]:
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
# 打印提示
print("重复起始行:", row + 2, "重复行", subRow + 2)
# 保存当前工作簿
wb.save()
# 关闭当前工作簿
wb.close()
# 退出excel程序
app.quit()
# 阻塞不退出
input("Press Any Key")
鉴于媳妇办公电脑不方便安装python环境,所以打包成exe可执行程序,使用pyinstaller工具
安装
pip install pyinstaller
打包
# -F 打包为单文件
# -i 指定图标
pyinstaller -F *.py -i *.ico
完
python照片查重_Python 进行excel查重相关推荐
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- python编辑学生分数_python处理excel(04)数据筛选和过滤
源数据,我们最终要找出年龄在18--30岁之间,分数大于85分的学生,为A类学生.在excel里可以使用筛选功能,先筛选age列,大于等于.小于.这两个条件限制.然后选score后边的小三角,条件为大 ...
- excel数据导入python后不对齐_Python处理Excel文件的实用姿势
真正的勇士,敢于直面银行卡上的余额,敢于正视磅秤上的数字. 表格数据是最常见的数据类型,Excel是日常办公中最常接触的文件. 上一章提过Python可以通过openpyxl模块处理Excel文件. ...
- python读取xlsm文件_Python读写EXCEL文件常用方法大全
前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 数据准备 为了方便演示,我这里新建了一个data.xls和data.xlsx文件,第一个 ...
- python数字求和程序_python操作excel求和
这里介绍如何用python来自动完成我们的excel工作. 本文的目的是展示一些常见的Excel任务,以及如何在python pandas中执行类似的任务.例子微不足道,但重要的是通过这个例子来循序渐 ...
- python rfind函数用法_Python语法速查:字符串格式简单处理、子串查找与判断方法?...
这是一篇python基础知识分享型文章,对学习python感兴趣的朋友们可以仔细看看 字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属 ...
- python单词怎么写_python 写的查单词的脚本
最近在学习Python,看Document时,好多不认识的单词,每次打开网页有道查询嫌麻烦,自己手写了一个mini的脚本,显示网页的单词解释,功能有限,希望大家给点指点.用到了BeautifulSou ...
- python 并查集_python 实现并查集源代码 | 学步园
问题描述: #coding:utf-8 #py2.7 class unionfind: def __init__(self, groups): self.groups=groups self.item ...
- python ip反查询_python ip反查域名
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
最新文章
- Laplace数值逆运算的讨论
- 105.通信同步异步定义及其相关
- margin 等高布局
- js方式调用php_举例说明JS调用PHP和PHP调用JS的方法
- Maya Calendar
- NLP面试复盘 | 阿里/腾讯/头条/paypal/快手
- Meta-Learning
- ubuntu下vsftpd配置
- PHP数字格式化,每三位逗号分隔数字,可以保留小数
- MySQL学习(五、数据操作语言DML和事务处理语言TCL)
- 2、Ubuntu下安装Vivado下的下载器驱动 Digilent 版本
- 【SpringBoot深入浅出系列】SpringBoot之集成JUnit5进行单元测试
- supergo定位软件_super go定位修改下载
- opencv将多张图片合成视频
- CocosCreator快速接入bugly
- 系统状态空间模型c语言,【单选题】能完全描述系统动态行为的数学模型是()
A. 传递函数
B. 微分方程
C. 状态 空间表...
- 使用js脚本实现网页版微信定时发送信息
- Centos7配置ssh、rsh免密互信集群服务
- 怎样找回计算机以前用户界面,电脑中的窗口颜色更改后如何恢复到以前的状态?...
- __builtin_ffs 的使用方法
热门文章
- 双卡版本不插卡的情况下状态栏中只显示了一个信号图标,而不是两个信号图标,如何修改为2个图标
- char *const p ,char const *p,const char *p的区别
- H5如何拉起微信扫一扫
- segger j-flash使用笔记
- 关于爱国者***的追踪报道[转]
- hdu 2094 “产生冠军“
- CAJ未授权用户在此计算机,笔记本提示未授予用户在此计算机上的请求登陆类型怎么办...
- 华为荣耀开机停留在android,华为荣耀8变砖无法开机怎么办 华为荣耀8变砖无法开机解决方法...
- 网站安全之域名被劫持、域名被劫持后该怎么办!!!
- php 遍历数组 车牌,javascript,html_为什么我最后输出的车牌号全部是数字啊?明明数组里的是字母多啊!,javascript,html - phpStudy...