python脚本(比较两个Excel表格的不同并标记)

由于最近有用到比较两个Excel数据的不同,数据量较大,就在网上搜索了一下python脚本,发现一个比较好用的,但只能比较单列的不同,且有些函数为旧版函数目前已无法使用,因此重新对该脚本进行了修改,使其可以比较excel表中所有列数的不同内容并标记,记录如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#导入模块 openpyxl
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.styles import colors
from openpyxl.styles import Font, Color
import copy#读取excel文件
#括号中的字符串为你要比较的两个excel的路径,注意用“/”
wb_a = openpyxl.load_workbook('G:/Desktop/test.xlsx')
wb_b = openpyxl.load_workbook('G:/Desktop/test1.xlsx')
#定义一个方法来获取表格中某一列的内容,返回一个列表
#将每一列输出为一个列表(temp表示列的名字)
def getIP(wb,temp):sheet = wb.activeip = []for cellobj in sheet[temp]:ip.append(cellobj.value)return ip
#想比较哪几列就输入那几列的名称
list1 = ['A','B','C','D','E','F','G','H','I']
list2 = []#用于存每列不同的值
differ1 = {}#第一个文件中每列不同的列表组成字典
differ2 = {}#第二个文件中每列不同的列表组成字典
for temp1 in list1:#获得ip列表ip_a = getIP(wb_a,temp1)ip_b = getIP(wb_b,temp1)#将两个列表转换成集合aa = set(ip_a)bb = set(ip_b)#找出两个列表的不同行,并转换成列表difference = list(aa ^ bb)#打印出列表中的元素#到这一步,两个表格中不同的数据已经被找出来了# for i in difference:#     print (i)#将不同行高亮显示#print ("开始第一张表" + "----" *10)del list2[0:]a = wb_a.active[temp1]for cellobj in a:if cellobj.value in difference:#print (cellobj.value)cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True)cellobj.fill = PatternFill("solid", fgColor="DDDDDD")list2.append(cellobj.value)if list2!=[]:differ1[temp1]=copy.deepcopy(list2)#print ("开始第二张表" + "----" *10)del list2[0:]b = wb_b.active[temp1]for cellobj in b:if cellobj.value in difference:#print (cellobj.value)cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True)cellobj.fill = PatternFill("solid", fgColor="DDDDDD")list2.append(cellobj.value)if list2!=[]:differ2[temp1]=copy.deepcopy(list2)print(differ1.items())
print(differ2.items())
wb_a.save('G:/Desktop/a.xlsx')
wb_b.save('G:/Desktop/b.xlsx')

运行后结果如下:

dict_items([('D', ['撒']), ('E', [2])])
dict_items([('D', ['热情改变']), ('E', [20])])

两个文件内容如下图所示:

参考原文:https://www.bbsmax.com/A/Ae5R21q35Q/

python脚本(比较两个Excel表格的不同并标记)相关推荐

  1. 超实用!使用Python快速对比两个Excel表格之间的差异

    这是「活用数据」的第 11 篇原创文章 主要介绍如何通过DeepDiff实现两个Excel文件数据的快速对比. 对于日常办公中需要处理数据的同学来说,有时候需要对比两个Excel表格(或者是数据库)的 ...

  2. 【Python数据分析】利用Python快速对两个EXCEL表格进行内容比较并找出差异

    如何快速找到两个EXCEL表格的数据差异?今天就与大家分享如何利用Python数据分析3分钟搞定,不管EXCEL表格有多少行数据,代码总是那么几行.不多说了,上案例(文末附Python数据分析案例下载 ...

  3. Python实现对比两个Excel数据内容并标出不同

    导读 日常工作中需要对比两个Excel工作表中的数据差异是很不方便的,使用python来做就比较简单了!本文为大家介绍了python实现对比两个Excel的数据内容并标记出不同数据的示例代码,需要的可 ...

  4. python与excel的区别-python比较两个excel表格的差异

    一个同事有两个excel表格要比较差异, 找了一下有相关软件,如: beyond compare, excel compare 但这两个似乎都是直接排序再比较的. 然后没办法,就用python折腾了一 ...

  5. python怎么合并多个excel表 视频_()如何用python合并两个excel表格

    ()如何用python合并两个excel表格 python合并excel表格视频教程2020-09-25 04:04:33人已围观 python实现excel合并 Created on Mon Mar ...

  6. Python脚本可在Microsoft Excel中格式化数据

    In this article, we will use Python scripts for data formatting in Microsoft Excel sheet with variou ...

  7. python怎么将txt转为excel_使用matlab或python将txt文件转为excel表格

    假设txt文件为: 一.matlab代码 data=importdata('data.txt'); xlswrite('data.xls',data); 二.python代码 利用pandas的Dat ...

  8. python快速对比两个excel的数据是否一致

    python快速对比两个excel的数据是否一致 功能概述 导入包 封装函数 程序开始 功能概述 两个sheet里面的表头有部分不一致,但是数据对应的内容是一致的,因此需要匹配表格多的值是否一致. 输 ...

  9. 新技能 | 使用python代码来高效操作Excel表格 (文末赠书5本)

    新技能 | 使用python代码来高效操作Excel表格 (文末赠书5本) 在日常学习和工作中,少不了要跟Excel表格打交道.而我们作为程序猿,深知代码编程给人带来的便捷性,那我们怎么样使用代码来操 ...

  10. 计算机上差额如何计算公式,【】两个Excel表格之间怎么相加减 计算两个表格的差额???用什么公式??? 具体步骤怎么的...

    excel表格如何在另一份表格中引用数据并进行加减 先在Sheet2的A1单元格入"=",再点一方的Sheet1工作表标签: ,Sheet1就会自动选上,无须手动输入(当然也可以输 ...

最新文章

  1. Xamarin.Forms教程下载安装JDK配置环境变量
  2. 设计模式 之 命令模式
  3. 4个不同小球放入4个不同盒子_初婚老公和二婚老公有什么不同?听听这4个再婚女人的真实想法...
  4. 2021牛客多校3 - Kuriyama Mirai and Exclusive Or(差分+倍增)
  5. CodeForces - 1438E Yurii Can Do Everything(暴力)
  6. mysql search yum_CentOS 7 yum安装配置mysql
  7. python 编程算法_python语言编程算法
  8. 判断ROS版本号-ubuntu20.04安装ROS_noetic-修改镜像源
  9. Rayeager PX2 不能进入烧写模式解决方案
  10. git学习(九)跨团队协作-非团队成员参与git项目开发
  11. Windows Mobile 6 模拟器绿色中文版
  12. 拼多多运营模式分析 | 如何杀出电商重围?
  13. 海思HI3798M GPIO和PWM操作
  14. 海康sip服务器是什么意思_海康摄像头入门
  15. Verilog HDL(二):行为级建模的结构(initial和always)、begin、fork、时间控制
  16. aws saa考试费用是多少?aws saa考试准备多久才能考试?
  17. 用selenium实现百度贴吧自动发帖
  18. layui实现后台管理系统界面:对示例代码改动几处即可轻松实现(转载)
  19. [IMX6Q][Android5.1]移植笔记 --- 无法挂载system文件系统
  20. stm32f103c8串口USART1发送多一字节

热门文章

  1. Vivado下使用Microblaze控制LED(vcu118,HLS级开发)
  2. 免费解析成pdf下载 -原创力文档
  3. C语言实现超简单贪吃蛇(代码是抄的),我做一下讲解
  4. Hadoop安装教程 Mac版
  5. 蚂蚁课堂视频笔记思维导图-4期 七、Docker
  6. 迅雷 故意限速_故意记录的价值
  7. 公司收银系统要不要服务器,一套收银系统要多少成本
  8. 华为手机字体改简体_华为手机字体怎么更换简体
  9. 最强分布式锁工具:Redisson
  10. winform基础 C#编程