Python基礎之openpyxl如何實現vlookup函式

wjaning發表於2021-09-11

相信很多學程式設計的人都對Vlookup函式不陌生,一些在excel中不方便處理的大量資料,用Python就可以輕鬆解決。下面介紹openpyxl庫中如何實現vlookup函式 :

1.資料來源介紹

如圖所示,有一個“ vlookup.xlsx ”檔案,“ A1:F11 ”是我們的資料來源區域,“ K1:L5 ”是我們的查詢源區域。我們的目的就是要在資料來源區域的 G 列加一列資料,查詢出不同型別下名稱表示。

Python基礎之openpyxl如何實現vlookup函式


2.Vlookup函式介紹

這個函式我想大家應該都會,大家應該也不需要我介紹的太詳細,因此我就簡單的為大家介紹一下 vlookup 函式的語法。

  • 引數說明:vlookup (待查詢目標, 查詢區域, 匹配值所在的列, 精確匹配 OR 模糊查詢);

  • 用一句通俗的話來說明 vlookup 函式的用法:針對每一個待查詢目標,它就能從指定的查詢區域中,查詢返回想要查詢到的值。

3.Excel中使用Vlookup函式

針對上述提到的資料來源,瞭解 Vlookup 函式的語法後,下面來看看如何在 Excel 中使用 Vlookup 函式。

Python基礎之openpyxl如何實現vlookup函式

觀察上圖:首先,我們在 G1 單元格新增了一個“名稱”列。接著,在 G2 單元格我們寫了一個 vlookup 公式,E2 表示每一個待查詢值,K1:L5 表示待查詢區域,我們使用 F3 快捷鍵將這個區域變為了絕對引用,因為我們的查詢區域就是這一個固定範圍,表示待返回值在查詢區域中所在的列數,表示精確匹配。最後,使用填充柄下拉填充即可。


4.Python中使用Vlookup函式

在 Python 中利用 openpyxl 庫,就可以完成公式的填充。因此在使用 openpyxl 之前,需要使用 pip install openpyxl 安裝好這個庫。

from openpyxl import load_workbook workbook = load_workbook("vlookup.xlsx") sheet = workbook["Sheet1"] sheet["G1"] = "名稱" for i in range(2,sheet.max_row+1):    sheet[f"G{i}"] = f'=VLOOKUP(E{i},$K$1:$L$5,2,0)' workbook.save(filename = "vllokup1.xlsx")

在 openpyxl 中,讀取已有的 Excel 檔案,使用到的是 load_workbook 類,因此需要提前匯入這個類。接著,例項化 load_workbook("vlookup.xlsx") 物件,得到一個工作簿物件。然後,使用 workbook["Sheet1"] 啟用該工作簿中的 Sheet1 表,表示我們要針對這個表進行操作。完成上述操作後,下面就可以進行 vlookup 公式的填寫了。

首先,我們利用 sheet["G1"] = "名稱"給 G1單元格增加了一個表頭。然後寫了一個迴圈,迴圈第2行到最後一行,針對每一個 G 列單元格,我們寫入上述 vlookup 公式。最後記得儲存一下即可。

透過以上對Python中openpyxl庫下來寫vlookup函式的例項展示,對vlookup函式有了進一步的理解。更多Python學習推薦:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2983/viewspace-2832500/,如需轉載,請註明出處,否則將追究法律責任。

相關文章