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

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

相关文章
|
15天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
71 5
|
10天前
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
26 2
|
22天前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
|
1月前
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
127 0
|
1月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
35 0
|
3月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
126 1
使用Python+openpyxl实现导出自定义样式的Excel文件
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
3月前
|
人工智能 BI
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
|
3月前
Map——全国省市区EXCEL表格(包含code)
Map——全国省市区EXCEL表格(包含code)
52 0
|
3月前
|
Python
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
50 0