最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼

 更新時(shí)間:2023年01月16日 08:36:57   作者:孟意昶  
這篇文章主要介紹了python實(shí)現(xiàn)excel和csv中的vlookup函數(shù),介紹如何使用python在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡單了解一下python如何操作excel,需要的朋友可以參考下

本篇博客會介紹如何使用python在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡單了解一下python如何操作excel

1. python處理excel

1.1 刪除excel中指定行

在文件夾里創(chuàng)建了一個(gè)excel文件,可以看到里面放的是三國人物的數(shù)據(jù)

在這里插入圖片描述

會發(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["國家"] == "晉"]
print(selected_rows)

這時(shí)我們就已經(jīng)將需要刪除的數(shù)據(jù)找了出來

在這里插入圖片描述

此時(shí)可以使用數(shù)據(jù)框的drop()方法來刪除選定的行

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就會發(fā)現(xiàn)已經(jīng)刪掉了【晉】的數(shù)據(jù)

在這里插入圖片描述

1.2 獲取excel的最大行數(shù)

在不打開一個(gè)excel的前提下,可以通過openpyxl來直接獲取這個(gè)文件的最大行數(shù),方便對這個(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ù)據(jù)是分開存放的,現(xiàn)在想要匯總出整個(gè)三國的數(shù)據(jù),就可以先提取表頭,再將剩下的內(nèi)容合并在一起,這時(shí)可以通過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/源文件/三國.xlsx", index=False)

運(yùn)行之后就會發(fā)現(xiàn)在當(dāng)前文件夾里多出來了一個(gè)新文件

在這里插入圖片描述

而里面的內(nèi)容也確實(shí)是幾個(gè)文件的內(nèi)容拼接

在這里插入圖片描述

1.4 實(shí)現(xiàn)excel中的vlookup函數(shù)

平時(shí)在工作中,會需要將兩份excel進(jìn)行vlookup操作,如果數(shù)據(jù)量比較大,則程序會運(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/源文件/三國.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)行程序后會直接看到關(guān)聯(lián)后的結(jié)果

在這里插入圖片描述

2. python處理csv

經(jīng)過實(shí)測,對csv文件進(jìn)行vlookup操作和對excel是一樣的,都可以直接使用merge函數(shù)

到此這篇關(guān)于python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)的文章就介紹到這了,更多相關(guān)python vlookup函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

澄迈县| 临夏县| 吴江市| 垦利县| 丹东市| 福海县| 周宁县| 波密县| 抚顺市| 安西县| 万安县| 锦屏县| 固原市| 徐汇区| 南雄市| 张家界市| 永嘉县| 凭祥市| 康马县| 山阳县| 铜川市| 合江县| 青州市| 西乌珠穆沁旗| 天台县| 睢宁县| 阜城县| 灵石县| 抚州市| 鄯善县| 怀远县| 儋州市| 呼玛县| 北川| 会昌县| 海门市| 万山特区| 北海市| 元氏县| 漳平市| 化德县|