python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼
本篇博客會(huì)介紹如何使用python
在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡(jiǎn)單了解一下python
如何操作excel
1. python處理excel
1.1 刪除excel中指定行
在文件夾里創(chuàng)建了一個(gè)excel文件,可以看到里面放的是三國(guó)人物的數(shù)據(jù)
會(huì)發(fā)現(xiàn)在【蜀】里,多了一個(gè)【晉】,所以此時(shí)我們先實(shí)現(xiàn)刪掉這條數(shù)據(jù)
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' #刪除指定行 df_shu = pd.read_excel(shu) selected_rows = df_shu.loc[df_shu["國(guó)家"] == "晉"] print(selected_rows)
這時(shí)我們就已經(jīng)將需要?jiǎng)h除的數(shù)據(jù)找了出來(lái)
此時(shí)可以使用數(shù)據(jù)框的drop()
方法來(lái)刪除選定的行
df_shu = df_shu.drop(selected_rows.index) print(df_shu)
現(xiàn)在只需要將結(jié)果存回excel就完成了這個(gè)需求
#保存至excel df_shu.to_excel(shu, index=False)
此時(shí)再打開文件夾內(nèi)的excel就會(huì)發(fā)現(xiàn)已經(jīng)刪掉了【晉】的數(shù)據(jù)
1.2 獲取excel的最大行數(shù)
在不打開一個(gè)excel的前提下,可以通過(guò)openpyxl
來(lái)直接獲取這個(gè)文件的最大行數(shù),方便對(duì)這個(gè)文件大小有個(gè)初步的理解
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx' wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吳.xlsx' #刪除指定行 df_shu = pd.read_excel(shu) df_wei = pd.read_excel(wei) df_wu = pd.read_excel(wu) #查看最大行數(shù) workbook = openpyxl.load_workbook(wei) worksheet = workbook['Sheet1'] max_row = worksheet.max_row print(max_row)
這樣就可以直接獲取最大行數(shù)為4
1.3 將excel表進(jìn)行上下拼接
在當(dāng)前的示例中,魏蜀吳三個(gè)勢(shì)力的數(shù)據(jù)是分開存放的,現(xiàn)在想要匯總出整個(gè)三國(guó)的數(shù)據(jù),就可以先提取表頭,再將剩下的內(nèi)容合并在一起,這時(shí)可以通過(guò)concat
函數(shù)進(jìn)行實(shí)現(xiàn)
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx' wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吳.xlsx' #刪除指定行 df_shu = pd.read_excel(shu) df_wei = pd.read_excel(wei) df_wu = pd.read_excel(wu) #兩張表進(jìn)行上下拼接 df = pd.concat([df_shu, df_wei, df_wu]) # 將合并后的數(shù)據(jù)寫入新的Excel文件 df.to_excel(r"D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三國(guó).xlsx", index=False)
運(yùn)行之后就會(huì)發(fā)現(xiàn)在當(dāng)前文件夾里多出來(lái)了一個(gè)新文件
而里面的內(nèi)容也確實(shí)是幾個(gè)文件的內(nèi)容拼接
1.4 實(shí)現(xiàn)excel中的vlookup函數(shù)
平時(shí)在工作中,會(huì)需要將兩份excel進(jìn)行vlookup操作,如果數(shù)據(jù)量比較大,則程序會(huì)運(yùn)行的比較慢,這時(shí)候就可以用merge
函數(shù)進(jìn)行實(shí)現(xiàn)
import pandas as pd import openpyxl import os #兩張表進(jìn)行vlookup sanguo = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三國(guó).xlsx' wuqi = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/武器.xlsx' df_sanguo = pd.read_excel(sanguo) df_wuqi = pd.read_excel(wuqi) df=pd.merge(df_sanguo, df_wuqi, how= 'left',left_on = '人物', right_on = '名稱') print(df)
其中how
參數(shù)是連接方式,這里使用的是左連接,left_on
和right_on
參數(shù)是兩張表關(guān)聯(lián)所使用的字段名稱,運(yùn)行程序后會(huì)直接看到關(guān)聯(lián)后的結(jié)果
2. python處理csv
經(jīng)過(guò)實(shí)測(cè),對(duì)csv文件進(jìn)行vlookup操作和對(duì)excel是一樣的,都可以直接使用merge
函數(shù)
到此這篇關(guān)于python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)的文章就介紹到這了,更多相關(guān)python vlookup函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判?、字符串匹配算法和最小生成樹?shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判颉⒆址ヅ渌惴ê妥钚∩蓸鋵?shí)例,拓?fù)渑判?、字符串匹配算法和最小生成樹是?jì)算機(jī)科學(xué)中常用的數(shù)據(jù)結(jié)構(gòu)和算法,它們?cè)诮鉀Q各種實(shí)際問(wèn)題中具有重要的應(yīng)用價(jià)值,需要的朋友可以參考下2023-08-08python動(dòng)畫manim中的顏色ManimColor的使用方法詳解
這篇文章主要介紹了python動(dòng)畫manim中的顏色ManimColor的使用方法,本文通過(guò)實(shí)例圖文展示給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
平時(shí)總是要對(duì)Excel進(jìn)行操作,整理了一下平時(shí)經(jīng)常會(huì)用到的操作,下面這篇文章主要給大家介紹了關(guān)于如何利用Python讓Excel快速按條件篩選數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12如何將DataFrame數(shù)據(jù)寫入csv文件及讀取
在Python中進(jìn)行數(shù)據(jù)處理時(shí),經(jīng)常會(huì)用到CSV文件的讀寫操作,當(dāng)需要將list數(shù)據(jù)保存到CSV文件時(shí),可以使用內(nèi)置的csv模塊,若data是一個(gè)list,saveData函數(shù)能夠?qū)ist中每個(gè)元素存儲(chǔ)在CSV文件的一行,但需要注意的是,默認(rèn)情況下讀取出的CSV數(shù)據(jù)類型為str2024-09-09使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器與抽簽工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器,也可以用作抽簽工具,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式
今天小編就為大家分享一篇在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02