当前位置: 首页 > 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.xdnf.cn/news/258841.html

相关文章:

  • 二叉搜索树的判断(双指针解决)
  • 深度残差网络ResNet
  • Controller层接收参数方式
  • 瑞萨 EZ-CUBE2 调试器
  • AI赋能新媒体运营:效率提升与能力突破实战指南
  • ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)
  • AI大模型-微调和RAG方案选项
  • 友元函数和友元类
  • 【学习笔记】深入理解Java虚拟机学习笔记——第1章 走进Java
  • 4.1 模块概述
  • JavaScript基础-逻辑运算符
  • 【质量管理】现代TRIZ问题识别中的功能分析——组件分析
  • 网站怎样备份网站,备份网站数据的方法
  • 正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真
  • re题(52)BUUCTF-[FlareOn5]Minesweeper Championship Registration
  • 深度理解linux系统—— 进程优先级
  • 深入理解C++构造函数:从入门到实践
  • AXI中的burst有几种?都用在什么场景中
  • 复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL)
  • HTML5+JavaScript实现连连看游戏之二
  • [预备知识]6. 优化理论(二)
  • Codeforces Round 1022 (Div. 2) A ~ C
  • 【AI面试准备】数据治理与GDPR脱敏机制构建
  • 一键暂停Windows更新工具
  • 数字智慧方案6186丨智慧应急指挥解决方案(43页PPT)(文末有下载方式)
  • VGG网络模型
  • 自监督学习的学习笔记
  • Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
  • git问题记录-如何切换历史提交分支,且保留本地修改
  • 安卓程序打包与发布