Python3,9行代码,对比两个Excel数据差异,并把差异结果重新保存。

简介: 这个对比,非常行。

1、引言

小屌丝:鱼哥,还记得上次写的把数据库的查询结果写入到excel这个脚本不。

小鱼:嗯… 可以说不记得吗

小屌丝:我猜你就记得。

小鱼:你…说…啥??

小屌丝:我说,你记得这个脚本。

小鱼:啊? 你说去洗澡?

小屌丝:鱼哥,别闹,正儿八经的。

小鱼:啊… 你说还要做SPA 。

小屌丝:鱼哥,你这…

小鱼:啊… 你问我什么时间方便?

小屌丝:鱼哥!!!!!!!!!!!!

小鱼:昂,咋了。

小屌丝:你要是再帮我写个脚本,咱就去洗澡。

小鱼:哦,洗完澡还要吃烧烤??

小屌丝:鱼哥,只要你能帮我写完脚本, 这都好说。

小鱼:那你说吧,啥脚本?

小屌丝:我要把对比两个Excel表的数据,把不一样的给提示出来。

小鱼:就这…

小屌丝:对啊, 就这。

2baidu.gif


2、代码实战

按照小屌丝的要求, 就是把两个差异的excel数据库给对比出来。

由于咱们是高端人士,

所以,咱们进行一些优化。


  • 把对比的差异数据高亮;
  • 把差异数据 重新保存到excel表中;


代码示例


# -*- coding: utf-8 -*-# @Time   : 2022-11-20# @Author : Carl_DJ"""实现功能:    1、对比两个excel表中的内容,    2、对差异的结果写入新的excel表中"""fromopenpyxl.stylesimportPatternFillfromopenpyxl.stylesimportcolors,Fontimportopenpyxlasvb#读取 需要对比的excel表workbook_a=vb.load_workbook(r'表1.xlsx')
workbook_b=vb.load_workbook(r'表2.xlsx')
#读取需要对比的sheet名sheet_a=workbook_a['Sheet1']
sheet_b=workbook_b['Sheet1']
#遍历所有的行与列maxrow=sheet_a.max_rowmaxcolumn=sheet_b.max_column#循环对比表格的所有单元格数据foriinrange(1,maxrow):
forjinrange(1,maxcolumn):
cell_a=sheet_a.cell(i,j)
cell_b=sheet_b.cell(i,j)
#如果有差异数据,就标识出来(蓝色加粗字体,黄色填充),ifcell_a.value!=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)
#差异结果存入新的excel表中workbook_a.save('表1_差异结果.xlsx')
workbook_b.save('表2_差异结果.xlsx')
print("执行对比完成")



运行结果

image.png


3、总结

看到这里,今天的分享就要结束了。

今天主要通过 使用的是openpyx模块,进行excel数据的对比。

如果你对openpyx模块不太了解, 那直接百度搜索"openpyx" 即可。

网上的中文教程也很多,我就不唠叨了。


我是奕然:


  • CSDN 博客专家
  • 阿里云社区 专家博主
  • 企业金牌面试官
  • 51 讲师

关注我,带你学习更多更有趣的Python知识。


目录
相关文章
|
30天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
6天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
7天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
28天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
119 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
62 3
|
27天前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
39 0
|
2月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
34 1
|
2月前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
89 0
|
2月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析