Python处理数据之匹配两个Excel文件数据的实现方法

 更新时间:2023年09月26日 16:34:34   作者:乌漆帅黑  
这篇文章主要给大家介绍了关于Python处理数据之匹配两个Excel文件数据的实现方法,可以使用Python的Pandas库来实现两层循环匹配两个Excel文件,需要的朋友可以参考下

前言

当需要处理两个Excel文件的数据,根据两个Excel的某一些内容进行数据匹配,从而提取出相应的数据时,除了使用Excel自带的Vlookup函数,还能使用Python进行处理。我是不会告诉你们我选择Python处理的原因是对Excel的Vlookup不熟悉的。

1 前言自述

这是我在工作中遇到的一个数据处理需求问题,该问题有两种解决方式,一种是Office高效办公,一种是Python高效办公。是的,我选择了后者。将解决该问题的过程记录下来,作为我使用Python高效办公的一个纪念。在最后,为了方便其他没有Python的同事使用,我还尝试将该程序进行了打包处理,发现虽然能打包,但是代码行数增加了不少。因此,建议有Python基础的朋友还是直接使用代码比用打包好的程序比较好。

2 需求场景

有两个excel文件,都放了大量的数据:

第一个excel文件:

第二个excel文件:

需求是:将两个excel文件中的数据进行匹配,当两个excel文件中的项目名称和项目号都一样的时候,将第二个excel文件中的合同号填入到第一个文件中的合同号中。即匹配两列相同列名的数据,当对应行数的数据一模一样的时候,在第一个excel文件中标记新的数据出来。在这种情况下,通常是会面对大量数据,即两个excel文件有上千条数据。为了 方便理解,我将第二个文件中的不同用颜色标了出来。

举个例子:第二个excel文件中有两个项目名称A7(第三行和第七行),但对应项目号能和第一个excel文件匹配得上的只有第3行,因此此时需要将第二个excel文件中第三行的合同号填入到第一个excel文件的序号7行对应的合同号列表中。

3 代码实现

import pandas as pd
# 读取excel1和excel2数据
total_table = pd.read_excel('第一个excel文件.xlsx')
subset_table = pd.read_excel('第二个excel文件.xlsx')
# 在第一个excel中添加新列
total_table['合同号'] = ""
# 根据第二个excel数据进行匹配和填充合同号
for index, row in subset_table.iterrows():
    # 获取分表中的两列内容
    column1_match = row['项目名称']
    column2_match = row['项目号']
    # 在第一个excel中查找匹配行
    matched_rows = total_table.loc[(total_table['项目名称'] == column1_match) & (total_table['项目号'] == column2_match)]
    # 填充合同号
    total_table.loc[matched_rows.index, '合同号'] = row['合同号']
# 保存修改后的第一个excel数据到新的文件
total_table.to_excel('新增合同号的excel文件.xlsx', index=False)

4 运行结果

总结 

到此这篇关于Python处理数据之匹配两个Excel文件数据的文章就介绍到这了,更多相关Python匹配两个Excel数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python基于OpenCV模块实现视频流数据切割为图像帧数据(流程分析)

    python基于OpenCV模块实现视频流数据切割为图像帧数据(流程分析)

    这篇文章主要介绍了python基于OpenCV模块实现视频流数据切割为图像帧数据,这里今天主要是实践一下视频流数据的预处理工作,需要的朋友可以参考下
    2022-05-05
  • VSCODE配置Markdown及Markdown基础语法详解

    VSCODE配置Markdown及Markdown基础语法详解

    这篇文章主要介绍了VSCODE配置Markdown及Markdown基础语法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python3.x爬虫下载网页图片的实例讲解

    Python3.x爬虫下载网页图片的实例讲解

    今天小编就为大家分享一篇Python3.x爬虫下载网页图片的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 基于Python3读写INI配置文件过程解析

    基于Python3读写INI配置文件过程解析

    这篇文章主要介绍了基于Python3读写INI配置文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python查询Mysql时返回字典结构的代码

    Python查询Mysql时返回字典结构的代码

    MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行
    2012-06-06
  • 深入理解python中pytest.ini的配置方法和参数

    深入理解python中pytest.ini的配置方法和参数

    Pytest 是 Python 测试框架中最流行的一个,而 pytest.ini 文件则是 pytest 配置文件的核心,在本文中,将详细介绍 pytest.ini 文件的配置方法和可能的参数,帮助您更好地掌握 Pytest 的使用,需要的朋友可以参考下
    2024-10-10
  • Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)

    Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)

    由于最近学习tensorflow的需要,tensorflow是在Linux环境下,使用的是Python。为了方便程序的调试,尝试在Windows下的Pycharm远程连接到虚拟机中Centos下的Python环境,感兴趣的朋友跟随小编看看吧
    2020-03-03
  • Python制作动态字符画的源码

    Python制作动态字符画的源码

    python字符画是一个简单有趣的图画,它一般由程序制作而成,接下来通过本文给大家分享Python制作动态字符画的源码,需要的朋友可以参考下
    2021-08-08
  • pandas去除重复列的实现方法

    pandas去除重复列的实现方法

    这篇文章主要介绍了pandas去除重复列的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Python基础第三方模块requests openpyxl

    Python基础第三方模块requests openpyxl

    这篇文章主要为大家介绍了Python基础第三方模块requests openpyxl使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论