快速对比 找出2个名单不同之处

2024-05-14 10:36
文章标签 快速 对比 找出 名单

本文主要是介绍快速对比 找出2个名单不同之处,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import pandas as pd# 读取两个Excel文件
df1 = pd.read_excel('1.xlsx')
df2 = pd.read_excel('2.xlsx')# 检查两个DataFrame的列是否相同
if list(df1.columns) != list(df2.columns):print("两个Excel文件的列不一致。")print("文件1的列:", df1.columns)print("文件2的列:", df2.columns)
else:# 合并两个DataFrame,并标识差异df_diff = pd.merge(df1, df2, how='outer', on=df1.columns.tolist(), indicator=True)df_diff = df_diff[df_diff['_merge'] != 'both']# 删除_merge列,因为它只是用来标识差异的df_diff = df_diff.drop(columns=['_merge'])# 打印差异if not df_diff.empty:print("两个Excel文件的数据存在差异:")print(df_diff)else:print("两个Excel文件的数据完全相同")

       要对比两张Excel数据表并找出差异,可以使用Python的pandas库。以上是一个示例代码,它会加载两个Excel文件,比较它们的数据,并打印出差异。

       在这个代码中,我们首先检查两个DataFrame的列是否完全相同。如果不相同,我们会输出每个文件的列名称。如果列相同,我们使用pd.merge函数进行外连接(how='outer'),这样就可以找出只在其中一个DataFrame中存在的行。indicator=True参数会添加一个名为_merge的列,用于指示每行数据的来源。然后我们筛选出_merge列不等于both的行,这些行就是差异部分。

       请注意,这个代码假设两个Excel文件的结构相同(即列名和列的顺序相同)。如果文件的结构不同,或者你想要比较的列不同,你可能需要先对DataFrame进行一些预处理来调整它们的结构。

       确保在运行此代码之前已经安装了pandasopenpyxl库。如果没有安装,可以使用以下命令安装:

pip install pandas openpyxl

成果:

这篇关于快速对比 找出2个名单不同之处的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988510

相关文章

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种