快速对比 找出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

相关文章

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs