Python3,使用openpyxl进行excel数据对比,反手一个赞。

简介: Python3,使用openpyxl进行excel数据对比,反手一个赞。

1、引言


小屌丝:鱼哥,我最近在对搞数据对比,你有什么便捷的方法?

小鱼:斗胆问一句,数据量多少?

小屌丝:不多不多,几万条吧。

小鱼:确定几万条?

小屌丝:多了也不敢说啊。

小鱼:但说无妨

小屌丝:那这是你说的哈, 有一组数据是890W条数据

小鱼:奈斯,真棒,完美,超爽。

小屌丝:你很兴奋啊。

小鱼:不啊,我就喜欢看你被虐的样子。

小屌丝:别闹, 正儿八经的,相对比数据。

小鱼:好吧,那你说下,你想如何对比?

小屌丝:openpyxl怎么能先对比一列,然后根据这列为基准去对比该行?

小鱼:真棒,我会,但是我不想说

小屌丝:最近咱俩是不是没去洗澡了。

小鱼:额… 你有门票?

小屌丝:你告诉我怎么实现,我就有门票。

小鱼:君子一言。

小屌丝:澡堂见。



2229a447097443d2ba66627f5f846d94.gif


2、代码实战

2.1 安装

当然,涉及到第三方库, 老规矩,安装走起。

pip install openpyxl


然后就是等待着安装。

其它安装方式,直接看这两篇:

Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!

Python3:我低调的只用一行代码,就导入Python所有库!

安装完成,我们就可以进行代码编写了。


2.2 代码实战

2.2.1 思路

在写代码前,我们要捋清楚思路, 总共分四步:


1、读取excel表格数据,并将数据保存在一个列表中。

2、调用 merge_cells 函数,将需要对比的两列数据作为参数传入,并设置参数 merge_cells 为 True,表示要对齐两列数据。

3、循环遍历列表中的每一行数据,对比该行与对齐列的数据是否一致,如果不一致则记录下来。

4、循环结束后,找到记录中不一致的行,将不一致的数据用新列表的形式保存起来即可。

捋清思路后,我们就开始下一步操作:撸代码。


2.2.2 代码示例


# -*- coding:utf-8 -*-
# @Time   : 2023-05-25
# @Author : Carl_DJ
'''
实现功能:
  使用openpyxl对excel表中的数据进行对比
'''
import openpyxl
# 读取excel表格数据,并将数据保存在一个列表中
data = []
with openpyxl.load_workbook('example.xlsx') as wb:
    sheet = wb['Sheet1']
    for row in sheet.iter_rows(min_row=2, values_only=True):
        row_data = []
        for cell in row:
            if cell.value is not None:
                row_data.append(cell.value)
        data.append(row_data)
# 对比需要对齐的两列数据
merged_data = []
for row_data in data:
    # 设置参数,两列数据对齐
    merge_cells = True
    for col_idx in range(len(row_data[0])):
        col_data = row_data[col_idx]
        for col_idx_2 in range(len(col_data)):
            if col_data[col_idx_2] != col_data[col_idx_2 + 1]:
                merge_cells = False
                break
    if merge_cells:
        # 循环遍历列表中的每一行数据,对比该行与对齐列的数据是否一致
        for cell_idx in range(len(col_data)):
            cell_data = col_data[cell_idx]
            for row_idx in range(len(merged_data)):
                if cell_data == merged_data[row_idx][cell_idx]:
                    # 如果一致,则将不一致的数据用新列表的形式保存起来
                    merged_data[row_idx][cell_idx] = [cell_data]
                    break


3、总结

今天主要使用openpyxl对excel表中的数据进行对比。

在实际的工作中,这种数据对比很常见,用好python,让你的工作量递减。

我是小鱼:


CSDN 博客专家;

阿里云 专家博主;

51CTO 博客专家;

51认证讲师;

认证金牌面试官;

职场面试培训规划师;

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

目录
相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
295 10
|
2月前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
186 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
4天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
2月前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
2月前
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
109 15
|
2月前
|
BI Python
利用OpenPyXL实现Excel条件格式化
本文介绍如何使用Python的`openpyxl`库为Excel文件添加条件格式,包括颜色渐变、图标集、数据条及基于公式的规则等,提升数据可读性和美观度。通过具体示例,展示了从安装库、加载文件到应用各种条件格式的详细过程,最后保存修改后的文件。
98 12
|
2月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。

热门文章

最新文章