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

news2024/9/21 0:45:22

欢迎来到"花花 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.coloradmin.cn/o/2038247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地http://localhost/端口 通过本地服务,远程调用同一网络下的另一台主机的微服务方法

首先需要确保能够ping通另一台主机的ip,切记一定要确保可以ping通,否则无法正常访问 我使用的spring-cloud框架,在spring-cloud框架中进行操作,我是有一个单独的Remote模块用于远程调用,在这里 第一步:需要…

Stable Diffusion绘画 | 提示词中的符号解析

() 小括号-提升权重 每个单词默认的权重值为1, 每套上一层“()”后,权重增加1.1倍,最多可套3层小括号: blue:权重值1 (blue):权重值1.1 ((blue)):权重值1.21 (((blue))):权重值1.3…

进程与磁盘管理相关

进程与磁盘管理相关 进程创建(或者存在的)的唯一标志》进程控制块 PCB是进程存在的唯一标志,当进程被创建时,操作系统为当前进程创建PCB,当进程结束时,会回收PCB PCB .进程描述信息 。进程控制和管理信息 。资源分…

GPS跟踪环路MATLAB之——数字锁相环

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 GPS跟踪环路MATLAB之——数字锁相环 前言为什么要锁相环科斯塔斯环锁相环的一些基本概念1、捕获、锁定与跟踪的概念2、捕获时间和稳态相差3、相位捕获和频率捕获4、捕获带和同…

《计算机组成原理》(第3版)第5章 输入输出系统 复习笔记

第5章 输入输出系统 一、概述 (一)输入输出系统的发展概况 1.早期阶段 早期的I/O设备种类较少,I/O设备与主存交换信息都必须通过CPU,如图5-1所示。 图5-1 I/O设备通过CPU与主存交换信息 2.接口模块和DMA…

JavaScript模拟空调效果

JavaScript模拟空调效果https://www.bootstrapmb.com/item/15074 在JavaScript中模拟空调效果主要依赖于前端界面的交互和状态变化,因为实际的温度调节、风扇速度调整等硬件操作无法直接通过JavaScript在浏览器中实现。不过,我们可以通过JavaScript来模…

yaml详解实战,读取实战,以及运行结果解析,以及单引号和双引号对转义符读取的影响

一、 YAML:数据格式 文章:《yaml基本语法,数据类型,对象,数组,复合结构,纯量,引用;文件后缀为.yml或.yaml》 里有一些介绍,以及我自己的理解。 这篇文章偏实战…

nvm介绍、下载、安装、配置及使用

一、背景 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就…

Linux C 程序 【04】线程分离

1.开发背景 Linux 线程区分于FreeRTOS,线程的属性形态有2中,在 pthread.h 中有注解,如下。 /* Detach state. */ enum {PTHREAD_CREATE_JOINABLE, #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLEPTHREAD_CREATE_DETACHED #defin…

72v-85v输出12v/13.5v电流6A用在电自上AH1009

135-3806-7573.在探讨“72V-85V输出12V/13.5V电流6A用在电动自行车(电自上)AH1009”这一主题时,我们深入到一个结合了电力电子技术、电池管理系统以及电动自行车性能优化的专业领域。。 *****芯片概述: AH1009是一款宽电压范围、…

数据中心服务器监控系统搭建方案

数据中心监控系统搭建方案 1、背景2、环境3、部署3.1、终端部署3.1.1、服务器配置3.1.1.1、浪潮服务器3.1.1.2、曙光服务器 3.2、服务端部署3.2.1、在线环境下载3.2.2、离线环境安装3.2.3、系统配置 1、背景 服务部署与三个网络环境中,其中某个网位于线下机房&…

Leetcode面试经典150题-2.两数相加

2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不…

重塑视觉界限:探索InstantID,超越ReActor的下一代换脸技术!

马斯克与郭德纲,一位是相声界的顶流,一位是科技界的大咖。 想象一下,他们的形象融合,会是什么样? 最新推出的开源项目 —— InstantID 让这种“跨界融合”成为可能。 来瞧瞧,“马德纲”有惊艳到你吗&…

回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN

回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN 文章目录 前言回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN 一、SSA-DNN模型1. 麻雀优化算法&…

想发SCI,先写论文还是先选刊?手把手带你分析如何提高发表成功率!

点击关注:关注GZH【欧亚科睿学术】,GET完整版2023JCR分区列表! 发SCI是先写论文还是先选刊 发SCI论文时,通常建议先选择合适的期刊再开始写论文。 先选刊的策略意味着你在撰写论文之前,先确定一个或多个可能投稿的期…

2021-11-08 51单片机2位秒表启动清零

缘由c51单片机,程序,仿真图,求帮助-编程语言-CSDN问答 #include "REG52.h"sbit K1 P1^0; sbit K2 P1^1; sbit K3 P1^2; sbit K4 P1^3; sbit P1_0P2^0; sbit P1_1P2^1; sbit P1_2P2^2; sbit P1_3P2^3; sbit P1_4P2^4; sbit P1_…

C++八股文(一)

🏳‍🌈C基础 🌱1.C特点 1. C 在 C 语言基础上引入了 面对对象 的机制,同时也 兼容 C 语言 。 2. C 有三大特性 ( 1 )封装。( 2 )继承。( 3 )多态&#xff…

网站模板建站和定制网站哪个更适合中小企业?

通俗来说,网站建设有模板建设、定制建站两个门类。在聊聊网站建设多少钱之前,我们可以先来简单分析一下模板建站和定制建站的优缺点在哪。 一、模板建站 优势:1.极大看重性价比,价格优势会较高。 劣势:1.因是在已有的模…

Datawhale AI夏令营--从零入门多模态大模型数据合成Task1

从零入门多模态大模型数据合成 报名赛事注意事项 创建实例跑baseline(预计时间300分钟)改用无卡模式开机创建非指定镜像 下载赛事所需文件包下载模型,数据集以及依赖软件下载模型和相关数据集下载BLIP图片描述模型 数据处理与合成推理和评测打包输出运行结果提交结果 报名赛事 …

Open3D 计算点云的协方差矩阵(原理详细版)

目录 一、概述 1.1协方差矩阵的定义 1.2实现步骤 1.3应用 二、代码实现 1.1实现代码 2.2协方差应用案例 2.2.1主成分分析法的应用 2.2.2平面拟合 三、疑问解答 3.1为什么计算协方差矩阵要去质心? 3.1.1原因 3.1.2区别 Open3D点云算法汇总及实战案例汇总…