Python處理數(shù)據(jù)之匹配兩個Excel文件數(shù)據(jù)的實現(xiàn)方法
前言
當需要處理兩個Excel文件的數(shù)據(jù),根據(jù)兩個Excel的某一些內(nèi)容進行數(shù)據(jù)匹配,從而提取出相應(yīng)的數(shù)據(jù)時,除了使用Excel自帶的Vlookup函數(shù),還能使用Python進行處理。我是不會告訴你們我選擇Python處理的原因是對Excel的Vlookup不熟悉的。
1 前言自述
這是我在工作中遇到的一個數(shù)據(jù)處理需求問題,該問題有兩種解決方式,一種是Office高效辦公,一種是Python高效辦公。是的,我選擇了后者。將解決該問題的過程記錄下來,作為我使用Python高效辦公的一個紀念。在最后,為了方便其他沒有Python的同事使用,我還嘗試將該程序進行了打包處理,發(fā)現(xiàn)雖然能打包,但是代碼行數(shù)增加了不少。因此,建議有Python基礎(chǔ)的朋友還是直接使用代碼比用打包好的程序比較好。
2 需求場景
有兩個excel文件,都放了大量的數(shù)據(jù):
第一個excel文件:

第二個excel文件:

需求是:將兩個excel文件中的數(shù)據(jù)進行匹配,當兩個excel文件中的項目名稱和項目號都一樣的時候,將第二個excel文件中的合同號填入到第一個文件中的合同號中。即匹配兩列相同列名的數(shù)據(jù),當對應(yīng)行數(shù)的數(shù)據(jù)一模一樣的時候,在第一個excel文件中標記新的數(shù)據(jù)出來。在這種情況下,通常是會面對大量數(shù)據(jù),即兩個excel文件有上千條數(shù)據(jù)。為了 方便理解,我將第二個文件中的不同用顏色標了出來。
舉個例子:第二個excel文件中有兩個項目名稱A7(第三行和第七行),但對應(yīng)項目號能和第一個excel文件匹配得上的只有第3行,因此此時需要將第二個excel文件中第三行的合同號填入到第一個excel文件的序號7行對應(yīng)的合同號列表中。
3 代碼實現(xiàn)
import pandas as pd
# 讀取excel1和excel2數(shù)據(jù)
total_table = pd.read_excel('第一個excel文件.xlsx')
subset_table = pd.read_excel('第二個excel文件.xlsx')
# 在第一個excel中添加新列
total_table['合同號'] = ""
# 根據(jù)第二個excel數(shù)據(jù)進行匹配和填充合同號
for index, row in subset_table.iterrows():
# 獲取分表中的兩列內(nèi)容
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數(shù)據(jù)到新的文件
total_table.to_excel('新增合同號的excel文件.xlsx', index=False)4 運行結(jié)果

總結(jié)
到此這篇關(guān)于Python處理數(shù)據(jù)之匹配兩個Excel文件數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python匹配兩個Excel數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python基于OpenCV模塊實現(xiàn)視頻流數(shù)據(jù)切割為圖像幀數(shù)據(jù)(流程分析)
這篇文章主要介紹了python基于OpenCV模塊實現(xiàn)視頻流數(shù)據(jù)切割為圖像幀數(shù)據(jù),這里今天主要是實踐一下視頻流數(shù)據(jù)的預(yù)處理工作,需要的朋友可以參考下2022-05-05
VSCODE配置Markdown及Markdown基礎(chǔ)語法詳解
這篇文章主要介紹了VSCODE配置Markdown及Markdown基礎(chǔ)語法詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python查詢Mysql時返回字典結(jié)構(gòu)的代碼
MySQLdb默認查詢結(jié)果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網(wǎng)上找到簡單的修改方法,就是傳遞一個cursors.DictCursor就行2012-06-06
深入理解python中pytest.ini的配置方法和參數(shù)
Pytest 是 Python 測試框架中最流行的一個,而 pytest.ini 文件則是 pytest 配置文件的核心,在本文中,將詳細介紹 pytest.ini 文件的配置方法和可能的參數(shù),幫助您更好地掌握 Pytest 的使用,需要的朋友可以參考下2024-10-10
Windows下Pycharm遠程連接虛擬機中Centos下的Python環(huán)境(圖文教程詳解)
由于最近學(xué)習(xí)tensorflow的需要,tensorflow是在Linux環(huán)境下,使用的是Python。為了方便程序的調(diào)試,嘗試在Windows下的Pycharm遠程連接到虛擬機中Centos下的Python環(huán)境,感興趣的朋友跟隨小編看看吧2020-03-03
Python基礎(chǔ)第三方模塊requests openpyxl
這篇文章主要為大家介紹了Python基礎(chǔ)第三方模塊requests openpyxl使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11

