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

成果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697573.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[力扣题解] 96. 不同的二叉搜索树

题目:96. 不同的二叉搜索树 思路 动态规划 f[i]:有i个结点有多少种二叉搜索树 状态转移方程: 以n3为例: 以1为头节点,左子树有0个结点,右子树有2个结点; 以2为头节点,左子树有1个…

微软: 用于文本到语音合成(TTS)的语言模型方法VALL-E

微软引入了一种用于文本到语音合成(TTS)的语言模型方法。具体而言,微软使用从现成的神经音频编解码器模型中得到的离散编码训练了一个神经编解码器语言模型(称为VALL-E),并将TTS视为条件语言建模任务,而不是像之前的工作那样进行连续信号回归。在预训练阶段,微软将TTS训练数据扩…

GO语言核心30讲 实战与应用 (WaitGroup和Once,context,Pool,Map,字符编码,string包,bytes包)

原站地址:Go语言核心36讲_Golang_Go语言-极客时间 一、sync.WaitGroup和sync.Once 1. sync.WaitGroup 比通道更加适合实现一对多的 goroutine 协作流程。 2. WaitGroup类型有三个指针方法:Wait、Add和Done,以及内部有一个计数器。 (1) Wa…

【iOS】架构模式

文章目录 前言一、MVC二、MVP三、MVVM 前言 之前写项目一直用的是MVC架构,现在来学一下MVP与MVVM两种架构,当然还有VIPER架构,如果有时间后面会单独学习 一、MVC MVC架构先前已经详细讲述,这里不再赘述,我们主要讲一…

Unity自定义动画-Animation动画数据-How is “fileIDToRecycleName“ generated

一般美术和程序分工明确的项目 fbx确实是和动画一一对应的; 但一些独立,或者小工作室的项目,就没法保证了,关键还是在于 Unity的 .meta 目录 查找和对比了一下 .fbx 和 .meta: 缓存和不缓存Animation 具体的Animat…

.NET开源、功能强大、跨平台的图表库LiveChart2

LiveCharts2 是 从LiveCharts演变而来,它修复了其前身的主要设计问题,它专注于在任何地方运行,提高了灵活性,并继承LiveCharts原有功能。 极其灵活的数据展示图库 (效果图) 开始使用 Live charts 是 .Net 的跨平台图表库,请访问 https://livecharts.dev 并查看目标平…

C++之map和set 的封装

通过红黑树的学习(C之红黑树-CSDN博客)让我了解到map和set的底层如何实现,这一次我们来对map和set进行封装。 目录 1.map和set底层原理 2.map和set的定义 3.map和set的仿函数 4.map和set的插入 5.map和set的迭代器 5.1迭代器的构造 5.2…

Golang | Leetcode Golang题解之第87题扰乱字符串

题目: 题解: func isScramble(s1, s2 string) bool {n : len(s1)dp : make([][][]int8, n)for i : range dp {dp[i] make([][]int8, n)for j : range dp[i] {dp[i][j] make([]int8, n1)for k : range dp[i][j] {dp[i][j][k] -1}}}// 第一个字符串从 …

blender cell fracture制作破碎效果,将一个模型破碎成多个模型

效果: 1.打开编辑-》偏好设置。搜索cell,勾选上如下图所示的,然后点击左下角菜单里的保存设置。 2.选中需要破碎的物体,按快捷键f3(快速搜索插件),搜索cell fracture。 3.调整自己需要的参数配置…

02-WPF_基础(一)

1、基础 各模块类型 链接:如何:向 Viewbox 的内容应用 Stretch 属性 - WPF .NET Framework | Microsoft Learn WPF基础以及事件绑定与数据绑定的情况,,在学习XAML,数据结构以及一个项目学习平台来练手,网络…

Hive表数据优化

Hive表数据优化 1.文件格式 为Hive表中的数据选择一个合适的文件格式,对提高查询性能的提高是十分有益的。 (1)Text File 文本文件是Hive默认使用的文件格式,文本文件中的一行内容,就对应Hive表中的一行记录。 可…

部署Discuz论坛项目

DIscuz 是由 PHP 语言开发的一款开源社交论坛项目。运行在典型的LNMP/LAMP 环境中。 安装MySQL数据库5.7 主机名IP地址操作系统硬件配置discuz-db192.168.226.128CentOS 7-mini-20092 Core/4G Memory 修改主机名用来自己识别 hostnamectl set-hostname discuz-db #重连远程…