• Python3,9行代码,对比两个Excel数据差异,并把差异结果重新保存。


    Excel数据差异对比

    1、引言

    小屌丝:鱼哥,还记得上次写的把数据库的查询结果写入到excel这个脚本不。
    小鱼:嗯… 可以说不记得吗
    小屌丝:我猜你就记得。
    小鱼:你…说…啥??
    小屌丝:我说,你记得这个脚本。
    小鱼:啊? 你说去洗澡?
    小屌丝:鱼哥,别闹,正儿八经的。
    小鱼:啊… 你说还要做SPA 。
    小屌丝:鱼哥,你这…
    小鱼:啊… 你问我什么时间方便?
    小屌丝:鱼哥!!!!!!!!!!!!
    小鱼:昂,咋了。
    小屌丝:你要是再帮我写个脚本,咱就去洗澡。
    小鱼:哦,洗完澡还要吃烧烤??
    小屌丝:鱼哥,只要你能帮我写完脚本, 这都好说。
    小鱼:那你说吧,啥脚本?
    小屌丝:我要把对比两个Excel表的数据,把不一样的给提示出来。
    小鱼:就这…
    小屌丝:对啊, 就这。
    在这里插入图片描述

    2、代码实战

    按照小屌丝的要求, 就是把两个差异的excel数据库给对比出来。
    由于咱们是高端人士
    所以,咱们进行一些优化。

    • 把对比的差异数据高亮;
    • 把差异数据 重新保存到excel表中;

    代码示例

    # -*- coding: utf-8 -*-
    # @Time   : 2022-11-20
    # @Author : Carl_DJ
    
    """
    实现功能:
        1、对比两个excel表中的内容,
        2、对差异的结果写入新的excel表中
    
    """
    
    from openpyxl.styles import PatternFill
    from openpyxl.styles import colors,Font
    import openpyxl as vb
    
    #读取 需要对比的excel表
    workbook_a = vb.load_workbook(r'表1.xlsx')
    workbook_b = vb.load_workbook(r'表2.xlsx')
    #读取需要对比的sheet名
    sheet_a = workbook_a['Sheet1']
    sheet_b = workbook_b['Sheet1']
    #遍历所有的行与列
    maxrow = sheet_a.max_row
    maxcolumn = sheet_b.max_column
    
    #循环对比表格的所有单元格数据
    for i in range(1,maxrow):
        for j in range(1,maxcolumn):
            cell_a = sheet_a.cell(i,j)
            cell_b = sheet_b.cell(i,j)
            #如果有差异数据,就标识出来(蓝色加粗字体,黄色填充),
            if cell_a.value != cell_b.value:
                cell_a.fill = PatternFill("solid",fgColor='FFFF00')
                cell_a.font = Font(color=colors.BLUE,bold=True)
                cell_b.fill = PatternFill("solid",fgColor='FFFF00')
                cell_b.font = Font(color=colors.BLUE,bold=True)
    #差异结果存入新的excel表中
    workbook_a.save('表1_差异结果.xlsx')
    workbook_b.save('表2_差异结果.xlsx')
    
    print("执行对比完成")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    运行结果
    在这里插入图片描述

    3、总结

    看到这里,今天的分享就要结束了。
    今天主要通过 使用的是openpyx模块,进行excel数据的对比。
    如果你对openpyx模块不太了解, 那直接百度搜索"openpyx" 即可。
    网上的中文教程也很多,我就不唠叨了。

    我是小鱼

    关注我,带你学习更多更有趣的Python知识。

  • 相关阅读:
    vue3中实现响应式原理Proxy 和 Reflect。代码演示
    【CTF】AWDP总结(Web)
    Java多线程并发编程核心知识
    HTML <time> 标签
    Flink CDC 2.0 主要是借鉴 DBLog 算法
    Linux 如何安装Mysql8.X(详细教程)
    【23真题】超难985!做完感觉没学过!
    flume使用实例
    微信小程序--Taro框架实际开发中的问题汇总
    推荐几个好用的短链接网址生成平台
  • 原文地址:https://blog.csdn.net/wuyoudeyuer/article/details/127994709