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

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

时间:2024-08-14 16:24:12浏览次数:16  
标签:办公自动化 sheet openpyxl 并标 Python max 单元格 cell workbook

欢迎来到"花花 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')

标签:办公自动化,sheet,openpyxl,并标,Python,max,单元格,cell,workbook
From: https://blog.csdn.net/2202_76035290/article/details/141192863

相关文章

  • 【Python-办公自动化】几秒搞定几天的工作量之根据指定要求汇总求和排序成278张表格
    欢迎来到"花花ShowPython",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。自我介绍:我热衷于将复杂的技术概念以简单易懂的方式呈现给大家,......
  • Python 栅格数据处理教程(二)
    本文将介绍通过ArcGISPro的Python模块(arcpy)对栅格数据进行栅格计算及数据统计的方法。1数据来源及介绍本文使用的数据为国家青藏高原科学数据中心的中国1km分辨率逐月降水量数据集基础上通过《Python栅格数据处理教程(一)》中的方法提取出的吉林省范围降水量数据。该数据......
  • Python - 详情介绍Zmail发送邮件(支持普通&企业邮箱,163、QQ、gmail...)
    Python-详情介绍Zmail发送邮件为了满足在python项目中收发邮件给其他人,可利用自己的邮箱账号结合Zmail来完成。Zmail使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议。Zmail仅支持python3,不需要任何外部依赖.不支持python2......
  • springboot+vue《Python数据分析》的教学系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着大数据时代的到来,数据分析技能已成为各行各业不可或缺的核心竞争力之一。Python,作为一门高效、灵活且拥有丰富数据分析库的编程语言,正逐步成为数据分析领域的主流工具。然而,当前高等教育体系中,《Python数据分析》课程的教学仍面临......
  • Robyn与FastAPI全面对比:选择最适合你的Python Web框架
    引言1.1背景介绍在当今的软件开发领域,选择合适的Web框架对于项目的成功至关重要。Python作为一种广泛使用的编程语言,其生态系统中涌现出了众多优秀的Web框架,如FastAPI和Robyn。FastAPI自发布以来,因其高性能、易用性和自动生成API文档的特性,迅速成为开发者的首选。而Robyn......
  • 3163:【例27.3】 第几项(C、C++、python)
    3163:【例27.3】第几项信息学奥赛一本通-编程启蒙(C++版)在线评测系统[例27.3]第几项2020:【例4.5】第几项信息学奥赛一本通(C++版)在线评测系统27.3_哔哩哔哩_bilibiliC语言代码:#include<stdio.h>#include<stdlib.h>intmain(){intm,s=0,n=0;s......
  • Python轻量级 NoSQL 数据库之tinydb使用详解
    概要在现代应用开发中,使用数据库来存储和管理数据是非常常见的需求。对于简单的数据存储需求,关系型数据库可能显得过于复杂。TinyDB是一个纯Python实现的轻量级NoSQL数据库,专为嵌入式场景设计,适用于小型项目、原型开发和教学等场景。本文将详细介绍TinyDB库,包括其安......
  • Python之sys.argv功能使用详解
    概要在Python编程中,命令行参数是与程序交互的重要方式之一。通过命令行参数,用户可以在运行脚本时传递输入值,从而影响程序的行为。Python提供了一个非常方便的模块——sys,其中的sys.argv列表可以轻松地获取命令行参数。在本文中,将深入探讨sys.argv的使用方法,结合实际示例展示......
  • Python编程中不可忽视的docstring使用详解
    概要在Python编程中,代码的可读性和可维护性至关重要。除了清晰的命名和结构良好的代码外,良好的文档字符串(docstring)也是确保代码易于理解和使用的关键工具。docstring是Python中用于记录模块、类、方法和函数行为的字符串,帮助开发者和用户快速了解代码的功能和用法。本文将......
  • 一个Web服务器及python作web开发的框架:Tornado 托内科及python提示报错:ImportError:
    一、一个Web服务器及python作web开发的框架:Tornado托内科    tornado,是使用Python编写的一个强大的、可扩展的Web服务器及Python作web开发框架。网上说Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利......