您当前的位置:首页 > 计算机 > 编程开发 > Python

python办公自动化-如何快速找出两个Excel表中数据差异

时间:04-07来源:作者:点击数:

应用场景:

公司里会有这样的场景:公司有一个系统的数据需要根据excel表中数据进行维护,但数据量比较大,此时就需要对系统数据与Excel中数据进行比对,人工核对工作量太大并且容易出错,这时可以将系统数据导出到Excel中,然后将两个Excel数据进行比对?

运行效果如下:

表一和表二对应位置数据数据不一致进行黄底标注,这样就很容易知道哪些数据存在差异,这里要保证两张表的数据结构相同

实现步骤

导入模块

#导入模块 openpyxl

from openpyxl.styles import PatternFill

from openpyxl.styles import colors

from openpyxl.styles import Font

import openpyxl as vb

读取两张表中的数据

url_a=r'D:\1.xlsx'

url_b=r'D:\2.xlsx'

workbook_a = vb.load_workbook(url_a)

workbook_b = vb.load_workbook(url_b)

sheet_a = workbook_a['Sheet1']

sheet_b = workbook_b['Sheet1']

maxrow = sheet_a.max_row

maxcolumn = sheet_b.max_column

遍历两张表中所有的单元格

for i in range(1,maxrow):

for j in range(1,maxcolumn):

cell_a=sheet_a.cell(i,j)

cell_b = sheet_b.cell(i, j)

比较对应单元格的数据

如果数值不同就蓝色加粗并标注黄色底色

if cell_a.value!=cell_b.value:

print(cell_a.value)

print(cell_b.value)

cell_a.fill = PatternFill("solid", fgColor="FFFF00")

cell_a.font = Font(color=colors.BLUE,bold=True)

cell_b.fill = PatternFill("solid", fgColor="FFFF00")

cell_b.font = Font(color=colors.BLUE,bold=True)

保存数据

workbook_a.save(url_a)

workbook_b.save(url_b)

当然我们可以利用pyinstaller将程序打包成exe文件,这样就可以在windows系统电脑上直接运行

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门