一句代碼合并Excel表

兩個Excel中都有相同的一列,怎樣依賴這列數(shù)據(jù)將兩個Excel合并到一起?使用Python合并表格只要一句代碼!

image.png

1 讀取表格

使用Python讀取數(shù)據(jù)只要3行,第一行載入pandas工具,第二行讀取,第三行顯示頭部5行內(nèi)容。

import pandas as pd
data1 = pd.read_excel('表格1.xlsx')
data1.head()

運行這個代碼就會直接顯示出表格1的前5行數(shù)據(jù)。

同樣我們可以用下面代碼讀取表格2.

import pandas as pd
data2 = pd.read_excel('表格2.xlsx')
data2.head()

提示:在輸入代碼的時候可以只打單詞的前兩個字母,然后按Tab鍵盤就會彈出提示,用箭頭或鼠標(biāo)上下滾動選擇命令即可。尤其是'表格1.xlsx'完全不用手工輸入,只要輸入英文雙引號,然后就可以按Tab鍵滾動到底部直接選擇文件名。

pandas讀取表格.gif

2 合并表格

如上所示,表格1和表格2都是某個活動的問卷數(shù)據(jù),其中表格1包含了每個學(xué)員的聯(lián)系電話、收件地址等信息,表格2包含了每個學(xué)員的考試成績、出勤記錄等信息。

由于是不同的問卷,兩個表格的學(xué)員順序不同,而且第一個問卷姓名欄叫name,第二個問卷姓名欄叫姓名,現(xiàn)在我們需要把它們合并到一起,并且確保每行學(xué)員的信息都能正確匹配對齊。

如果使用Excel軟件可能需要很多操作,但使用Python就只需要一句代碼。

dataMerge=pd.merge(data1,data2,left_on='name',right_on='學(xué)員姓名',how='left')

最后的how='left'是以表格1為準(zhǔn),表格2中存在但表格1中不存在的學(xué)員會被忽略。可以把left改為right就會以表格2為準(zhǔn),也可以改為outer同時保留兩個表格所有的學(xué)員姓名,或者改為inner只保留那些同時存在于兩個表格中的學(xué)員。如果不輸入這個how的話會默認(rèn)為是inner。

中間的left_on就是data1(表格1,參見上面代碼)的學(xué)員姓名欄名稱,right_on就是data2(表格2,參見上面代碼)的學(xué)員姓名欄名稱,這樣就會自動匹配對齊。如果兩個表格學(xué)員姓名欄名稱一樣,可以改為使用下面的代碼更加簡單。

dataMerge=pd.merge(data1,data2,on='name')

3 保存表格

最后我們用下面的命令把合并好的數(shù)據(jù)保存成Excel文件。

dataMerge.to_excel('合并表格.xlsx')

上面這句代碼運行后就會自動生成一個新的Excel文件,你可以用Excel打開查看再做進一步的手工檢查和修改。

上面動圖中我們使用的是Notebook軟件進行編寫代碼的,如果你還不知道這個軟件的安裝方法,可以關(guān)注我,瀏覽我之前的文章。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容