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

简介: 【太好用了!】使用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 :

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

相关文章
|
13天前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
141 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
1月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
133 5
|
17天前
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
47 15
|
17天前
|
BI Python
利用OpenPyXL实现Excel条件格式化
本文介绍如何使用Python的`openpyxl`库为Excel文件添加条件格式,包括颜色渐变、图标集、数据条及基于公式的规则等,提升数据可读性和美观度。通过具体示例,展示了从安装库、加载文件到应用各种条件格式的详细过程,最后保存修改后的文件。
44 12
|
1月前
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
72 2
|
2月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
95 6
|
2月前
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
200 0
|
2月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
55 0
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
4月前
|
人工智能 BI
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴