使用python實現(xiàn)excel的Vlookup功能
python 如何實現(xiàn)Excel 的Vlookup功能
1、Excel 中VLOOKUP具體步驟
Excel 中的VLOOKUP使用說明采用下面的小示例進行說明:
- 背景:目前有兩個基礎(chǔ)表,分別是 學號-姓名 關(guān)系表,學號-課程 關(guān)系表。
- 目的:最終生成 學號-姓名-課程 關(guān)系表。
- vlookup語法:VLOOKUP(查找值,數(shù)據(jù)表,列序數(shù),[匹配條件])
- 注意:vlookup屬于要注意匹配的左右。比如用學號來匹配課程的話,查找值就是學號,數(shù)據(jù)表就是學生-課程表。列序數(shù)就是課程所在的第2列。匹配條件 一般是FALSE,即精確匹配。



需要注意的是:vlookup使用的是python中的left模式。
查找表沒有對應學號的,匹不出相應的值,在基礎(chǔ)表上就會顯示 #N/A;
查找表有對應學號的,且有重復值時,在基礎(chǔ)表上只會優(yōu)先匹配第一個值(這部分在python中,將全部都匹配上重復的。)
2、Python中使用pandas包中的pd.merge()來實現(xiàn)
利用pd.merge()將DataFrame 和 Series進行匹配。
pd.merge(left, right, how = ‘inner', on = None, left_on = None, right_on = None,
left_index = False, right_index = False, sort = True, suffixes = (‘_x','_y'),
copy = True, indicator = False, validate = None)
參數(shù)說明:
| 參數(shù) | 說明 |
| left | 左表 |
| right | 右表 |
| how | 連接方式,inner、left、right、outer,默認為inner |
| on | 用于連接的列名稱 |
| left_on | 左表用于連接的列名 |
| right_on | 右表用于連接的列名 |
| left_index | 是否使用左表的行索引作為連接鍵,默認False |
| right_index | 是否使用右表的行索引作為連接鍵,默認False |
| sort | 默認為False,將合并的數(shù)據(jù)進行排序 |
| copy | 默認為True,總是將數(shù)據(jù)復制到數(shù)據(jù)結(jié)構(gòu)中,設(shè)置為False可以提高性能 |
| suffixes | 存在相同列名時在列名后面添加的后綴,默認為(’_x’, ‘_y’) |
| indicator | 顯示合并數(shù)據(jù)中數(shù)據(jù)來自哪個表 |
注意事項:
- 當兩個表用于連接的列名相同時,只需用on 來連接 ;
- 當兩個表用于連接的列名不同時,則需要使用left_on和right_on分別連接。
- 如果是兩個DataFrame 進行匹配時,則匹配后會將DataFrame中所有的列都添加進去。
- vlookup中的匹配連接方式屬于how=left。
- 重復行會全部匹配。
下面是兩個表:


為方便大家理解,下面是python 中不同匹配方式的結(jié)果:
示例示例




上述語法也可以使用下面的方式:

到此這篇關(guān)于使用python實現(xiàn)excel的Vlookup功能的文章就介紹到這了,更多相關(guān)python實現(xiàn)excel的Vlookup內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python工具模塊介紹之time?時間訪問和轉(zhuǎn)換的示例代碼
這篇文章主要介紹了python工具模塊介紹-time?時間訪問和轉(zhuǎn)換,本文通過示例代碼給大家介紹的非常詳細,對大家啊的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
Python自動化之批量生成含指定數(shù)據(jù)的word文檔
在平時工作當中,經(jīng)常需要處理文件,特別是Word,我們常常會機械的重復打開、修改、保存文檔等一系列操作。本文將主要介紹如何通過Python批量生成含指定數(shù)據(jù)的word文檔,感興趣的同學可以來看一看2021-11-11

