手把手教你用Python實(shí)現(xiàn)Excel中的Vlookup功能
一、前言
大家好,我是崔艷飛。工作中經(jīng)常會(huì)遇到,需要把兩張Excel或Csv數(shù)據(jù)表通過關(guān)鍵字段進(jìn)行關(guān)聯(lián),匹配對應(yīng)數(shù)據(jù)的情況,Excel雖有Vlookup函數(shù)可以處理,但數(shù)據(jù)量大時(shí)容易計(jì)算機(jī)無響應(yīng),可能出現(xiàn)數(shù)據(jù)丟失,處理速度較慢是軟肋,而Python只需幾行代碼就能輕松實(shí)現(xiàn),且處理速度快,詳細(xì)如下。
二、項(xiàng)目目標(biāo)
用Python實(shí)現(xiàn)兩張Excel或Csv表數(shù)據(jù)關(guān)聯(lián)處理。
三、項(xiàng)目準(zhǔn)備
軟件:PyCharm
需要的庫:pandas
四、項(xiàng)目分析
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àng)目實(shí)現(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é)可以研究下。
最后需要本文項(xiàng)目代碼的小伙伴,請?jiān)诠娞?hào)后臺(tái)回復(fù)“Vlookup”關(guān)鍵字進(jìn)行獲取,如果在運(yùn)行過程中有遇到任何問題,請隨時(shí)留言或者加小編好友,小編看到會(huì)幫助大家解決bug噢!