当前位置: 首页 > news >正文

【Python-办公自动化】1秒比较出2张表格之间的不同并标黄加粗

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。
自我介绍:
我热衷于将复杂的技术概念以简单易懂的方式呈现给大家,让每个人都能享受到编程的乐趣。我相信,通过不断的学习和实践,我们都能够成为更好的开发者。
关注提示:
如果您喜欢我的内容,别忘了点击关注哦!这样您就可以第一时间获取我的更新和分享。您的支持是我不断前进的动力。

原表1长这样:
在这里插入图片描述原表2长这样:
在这里插入图片描述

代码运行比较后的表1长这样:

在这里插入图片描述代码运行比较后的表2长这样:
在这里插入图片描述

# 导入openpyxl库中的PatternFill类,用于设置单元格的填充样式  
from openpyxl.styles import PatternFill  
# 导入openpyxl库中的colors模块,但在这个例子中,我们实际上可以直接使用colors.Color类或者通过字符串指定颜色  
from openpyxl.styles import colors  
# 导入openpyxl库中的Font类,用于设置单元格的字体样式  
from openpyxl.styles import Font  
# 导入openpyxl库,并给它一个别名pxl,以便在代码中更简洁地引用  
import openpyxl as pxl  # 加载名为'data1.xlsx'的Excel文件,并将其存储在workbook_1变量中  
workbook_1 = pxl.load_workbook(r'表1.xlsx')  # 加载名为'data2.xlsx'的Excel文件,并将其存储在workbook_2变量中  
workbook_2 = pxl.load_workbook(r'表2.xlsx')  # 选择workbook_1中的活动工作表(通常是第一个工作表),并将其存储在workbook_1_sheet_1变量中  
workbook_1_sheet_1 = workbook_1.active  # 选择workbook_2中的活动工作表(通常是第一个工作表),并将其存储在workbook_2_sheet_1变量中  
workbook_2_sheet_1 = workbook_2.active  # 计算两个工作表中较大的行数和列数,以便遍历较大的区域  
max_row = workbook_1_sheet_1.max_row if workbook_1_sheet_1.max_row > workbook_2_sheet_1.max_row else workbook_2_sheet_1.max_row  
max_column = workbook_1_sheet_1.max_column if workbook_1_sheet_1.max_column > workbook_2_sheet_1.max_column else workbook_2_sheet_1.max_column  # 遍历两个工作表的每个单元格(基于较大的行数和列数)  
for i in range(1, (max_row + 1)):  # 从第1行遍历到最大行  for j in range(1, (max_column + 1)):  # 从第1列遍历到最大列  cell_1 = workbook_1_sheet_1.cell(i, j)  # 获取workbook_1中当前位置的单元格  cell_2 = workbook_2_sheet_1.cell(i, j)  # 获取workbook_2中当前位置的单元格  # 如果两个单元格的值不相等  if cell_1.value != cell_2.value:  # 将workbook_1中当前单元格的填充样式设置为黄色  cell_1.fill = PatternFill("solid", fgColor='FFFF00')  # 将workbook_1中当前单元格的字体设置为黑色并加粗  cell_1.font = Font(color=colors.BLACK, bold=True)  # 将workbook_2中当前单元格的填充样式也设置为黄色  cell_2.fill = PatternFill("solid", fgColor='FFFF00')  # 将workbook_2中当前单元格的字体也设置为黑色并加粗  cell_2.font = Font(color=colors.BLACK, bold=True)  # 将修改后的workbook_1保存为名为'data3.xlsx'的文件  
workbook_1.save('修改后表1.xlsx')  # 将修改后的workbook_2保存为名为'data4.xlsx'的文件  
workbook_2.save('修改后表2.xlsx')
http://www.lryc.cn/news/424725.html

相关文章:

  • Linux下查看各进程的swap
  • 最后一个单词的长度 简单字符串问题
  • Autodesk Mudbox 2024:重塑创意边界的3D数字绘画与雕刻利器
  • 【python下用sqlite3, 多线程下报错,原因和解决 】
  • 学习记录——day30 网络编程 端口号port 套接字socket TCP实现网络通信
  • 【DataKit系列】数据迁移-实例搭建步骤(二)
  • 发送jsonp请求(前后端如何实现)
  • Leetcode—1239. 串联字符串的最大长度【中等】(unordered_set)
  • Spring Boot 3.x Rest API统一异常处理最佳实践
  • 线程的进阶学习
  • 13.1 Python 正则表达式基础
  • 贪心算法介绍(Greedy Algorithm)
  • 谷粒商城实战笔记-175~177-商城业务-检索服务-检索查询接口开发
  • 爬虫 Web Js 逆向:RPC 远程调用获取加密参数(1)WebSocket 协议介绍
  • 【安卓】WebView的用法与HTTP访问网络
  • Mysql中文存入乱码???
  • 安美数字酒店宽带运营系统 weather.php 任意文件读取漏洞复现
  • BGP的反射器(四)
  • proxy负载均衡
  • 两个若依系统,不能同时登录问题解决方案
  • Unity Render Streaming项目实践经验
  • Rvt/dgn格式的模型如何提取外轮廓,用于压平倾斜模型或者地形,进行BIM+GIS融合
  • sqli-labs-master靶场通关
  • hive sql 处理多层 json 数组
  • Dom 元素转换 Image 图片 (截图)
  • 零售业务产品系统应用架构设计(二)
  • Linux速成入门教程——从零基础开始快速入门,一文了解Linux用户管理与权限
  • 网工内推 | 宁德时代IT运维,晋升空间大,带薪年假,包吃包住
  • Linux---系统安全
  • 手写数字识别实战