手把手教你用Python實現(xiàn)Excel中的Vlookup功能
一、前言
大家好,我是崔艷飛。工作中經(jīng)常會遇到,需要把兩張Excel或Csv數(shù)據(jù)表通過關(guān)鍵字段進(jìn)行關(guān)聯(lián),匹配對應(yīng)數(shù)據(jù)的情況,Excel雖有Vlookup函數(shù)可以處理,但數(shù)據(jù)量大時容易計算機(jī)無響應(yīng),可能出現(xiàn)數(shù)據(jù)丟失,處理速度較慢是軟肋,而Python只需幾行代碼就能輕松實現(xiàn),且處理速度快,詳細(xì)如下。
二、項目目標(biāo)
用Python實現(xiàn)兩張Excel或Csv表數(shù)據(jù)關(guān)聯(lián)處理。
三、項目準(zhǔn)備
軟件:PyCharm
需要的庫:pandas
四、項目分析
1)如何讀取要處理的Csv文件?
利用pandas庫讀取Csv文件。
2)如何讀取要處理的Excel文件?
利用pandas庫讀取Excel文件。
3)如何通過關(guān)鍵字段關(guān)聯(lián)匹配兩張表中的數(shù)據(jù)?
利用merge()函數(shù),通過關(guān)鍵字段,關(guān)聯(lián)組合兩張表中的數(shù)據(jù)。
4)如何保存結(jié)果?
利用to_csvl保存關(guān)聯(lián)組合后的數(shù)據(jù)。
五、項目實現(xiàn)
1、第一步導(dǎo)入需要的庫
- import pandas as pd
 
2、第二步讀取要處理的Csv文件
- # 讀入表1
 - df1 = pd.read_csv('D:/a/1.csv', encoding='gbk')
 
3、第三步讀取要處理的Excel文件
- # 讀入表2
 - df2 = pd.read_excel('D:/a/2.xlsx', encoding='utf-8')
 
4、第四步關(guān)聯(lián)匹配數(shù)據(jù),并保存結(jié)果文件
- # 關(guān)聯(lián)數(shù)據(jù)
 - data = df1.merge(df2, on='姓名',left_index=False, right_index=False, sort=False)
 - # 保存數(shù)據(jù)
 - data.to_csv('D:/a/result.csv', encoding='gbk',index=False)
 
六、效果展示
1、處理前表1數(shù)據(jù):
2、處理前表2數(shù)據(jù):
3、處理后的關(guān)聯(lián)匹配數(shù)據(jù):
七、總結(jié)
本文介紹了如何利用Python進(jìn)行Excel和Csv間的數(shù)據(jù)關(guān)聯(lián)處理,替代了Excel的Vlookup函數(shù),由于不用顯示源文件,節(jié)省了系統(tǒng)資源,處理效率更高,數(shù)據(jù)量越大,優(yōu)勢越明顯,Python還有很多類似的函數(shù),數(shù)據(jù)處理,唯快不破,有興趣的同學(xué)可以研究下。
最后需要本文項目代碼的小伙伴,請在公眾號后臺回復(fù)“Vlookup”關(guān)鍵字進(jìn)行獲取,如果在運行過程中有遇到任何問題,請隨時留言或者加小編好友,小編看到會幫助大家解決bug噢!



















 
 
 


 
 
 
 