【太好用了!】使用openpyxl 对比两个excel表格之间的差异

前言:

工作中有时候会需要比较2个表格里的内容是否一致,或者哪里不同,如果单纯的使用人眼扫描的话,特别花时间不说,如果内容过多的话,眼睛估计都要瞎了~

这时候就会想到:是不是可以写个工具进行比较差异,并且标记出来呢!

正文:

这里会用的库是openpyxl,因为这是个很强大的库,一直都在使用他,也可以使用其他的库,总的来说大体上是类似的,,如果本地没有这个库的话可以在线安装---->

安装openpyxl库

pip install openpyxl

import openpyxl
from openpyxl.styles import colors
from openpyxl.styles import PatternFill
from openpyxl.styles import Font
#这里我分别直接读取了已经存在的表格
wb1=openpyxl.load_workbook(r"data_1.xlsx")
wb2=openpyxl.load_workbook(r"data_2.xlsx")
#再分别读取需要对比的表单,这里2个表格的表单的名字一样
wb_sheet1=wb1["菜单目录"]
wb_sheet2=wb2["菜单目录"]
#获取到2个表单数据最大行数
max_row=wb_sheet1.max_row if wb_sheet1.max_row > wb_sheet2.max_row else wb_sheet2.max_row
#获取到2个表单数据最大列数
max_column = wb_sheet1.max_column if wb_sheet1.max_column > wb_sheet2.max_column else wb_sheet2.max_column
#遍历每一行表格坐标
for i in range(1, (max_row + 1)):
    #遍历每一列表格左边
    for j in range(1, (max_column + 1)):
        #提取每个表格的数据
        cell_1 = wb_sheet1.cell(i, j)
        cell_2 = wb_sheet2.cell(i, j)
        #如果相同单元格数据不相等,则进行标记
        if cell_1.value != cell_2.value:
            #单元格填充为黄色
            cell_1.fill = PatternFill("solid", fgColor='FFFF00')
            #字体为蓝色
            cell_1.font = Font(color=colors.BLUE, bold=True)
            cell_2.fill = PatternFill("solid", fgColor='FFFF00')
            cell_2.font = Font(color=colors.BLUE, bold=True)
#将对比的结果分别输出到对应的新表格中
wb1.save('data_3.xlsx')
wb2.save('data_4.xlsx')
print("对比完成")

 需要对比的表格data_1.xlsx内容(这里展示开始有差异的地方)

需要对比的表格data_2.xlsx内容(这里展示开始有差异的地方)

 

结果:

进行对比过后,分别输出保存到新的表格中

data_1---->data_3:

data_2---->data_4 :

对比完成后,两个表格有差异的地方一下子就可以发现了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高老庄里的高小翠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值