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

使用xlwings将两张顺序错乱的表格进行数据核对

有如下一个excel表,姓名列的内容相同,顺序不同;月薪有部分内容不同。

目的:要找出哪几条月薪不同。

通常的做法,要使用excel的高级筛选。

在此,使用xlwings实现,在不同的内容上涂色。

代码如下:

# 右边E列“月薪”不同的单元格标黄,同时对应D列“姓名”的单元格也标黄
import xlwings as xw# 打开工作簿和工作表
wb = xw.Book('找出不同的内容并涂色.xlsx')  # 替换成你的文件名
ws = wb.sheets[0]# 读取左侧数据(A2:B9)
left_data = ws.range('A2:B9').value
left_dict = {name: salary for name, salary in left_data}# 读取右侧数据(D2:E9)
right_data = ws.range('D2:E9').value# 遍历右侧数据,比较并标色
for i, (name, right_salary) in enumerate(right_data, start=2):if name in left_dict:left_salary = left_dict[name]if left_salary != right_salary:# 标记右侧“姓名”和“月薪”ws.range(f'D{i}').color = (255, 255, 0)  # 黄色ws.range(f'E{i}').color = (255, 255, 0)else:# 清除原有颜色ws.range(f'D{i}').color = Nonews.range(f'E{i}').color = None

运行后结果如下,实现目标:

 

 

http://www.dtcms.com/a/168705.html

相关文章:

  • NVIDIA Omniverse在数字孪生中的算力消耗模型构建方法
  • C++ std::initializer_list 详解
  • 为美好的XCPC献上典题 ABC359 G - Sum of Tree Distance(根号分治)
  • 【AI面试准备】传统测试工程师Prompt Engineering转型指南
  • 在 Windows 中安装 Pynini 的记录
  • ECMAScript 2(ES2):标准化的微调与巩固
  • 每天一道算法题——推多米诺
  • leetcode 838. 推多米诺 中等
  • A2A Python 教程 - 综合指南
  • 深度理解linux系统—— 进程切换和调度
  • 数据结构-线性结构(链表、栈、队列)实现
  • Python 中 DAO 层使用泛型的探索
  • 接口测试实战指南:从入门到精通的质量保障之道
  • Linux系统:详解文件描述符与重定向原理以及相关接口(open,read,write,dup2)
  • 分布式理论:常见分布式协议的概览与解析
  • 51c大模型~合集123
  • C++ 复习
  • AI驱动文字冒险游戏
  • 第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年真题
  • 0基础 | STM32 | STM32F103C8T6开发板 | 项目开发
  • #以梦为楫,共航中医传承新程
  • 芯片中的pad、strap和probe
  • Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战
  • 深度学习与 PyTorch 基础
  • WindowsPE文件格式入门10.TLS表
  • Day108 | 灵神 | 合并两个有序链表
  • Matlab自学笔记
  • 网工_UDP协议
  • JavaWeb学习打卡-Day7-正向代理、反向代理、Nginx
  • C++--入门基础