兩個Excel中都有相同的一列,怎樣依賴這列數據将兩個Excel合并到一起?使用Python合并表格隻要一句代碼!
1 讀取表格
使用Python讀取數據隻要3行,第一行載入pandas工具,第二行讀取,第三行顯示頭部5行内容。
import pandas as pd data1 = pd.read_excel('表格1.xlsx') data1.head()
運行這個代碼就會直接顯示出表格1的前5行數據。
同樣我們可以用下面代碼讀取表格2.
import pandas as pd data2 = pd.read_excel('表格2.xlsx') data2.head()
提示:在輸入代碼的時候可以隻打單詞的前兩個字母,然後按Tab鍵盤就會彈出提示,用箭頭或鼠标上下滾動選擇命令即可。尤其是'表格1.xlsx'完全不用手工輸入,隻要輸入英文雙引号,然後就可以按Tab鍵滾動到底部直接選擇文件名。
2 合并表格
如上所示,表格1和表格2都是某個活動的問卷數據,其中表格1包含了每個學員的聯系電話、收件地址等信息,表格2包含了每個學員的考試成績、出勤記錄等信息。
由于是不同的問卷,兩個表格的學員順序不同,而且第一個問卷姓名欄叫name,第二個問卷姓名欄叫姓名,現在我們需要把它們合并到一起,并且确保每行學員的信息都能正确匹配對齊。
如果使用Excel軟件可能需要很多操作,但使用Python就隻需要一句代碼。
dataMerge=pd.merge(data1,data2,left_on='name',right_on='學員姓名',how='left')
最後的how='left'是以表格1為準,表格2中存在但表格1中不存在的學員會被忽略。可以把left改為right就會以表格2為準,也可以改為outer同時保留兩個表格所有的學員姓名,或者改為inner隻保留那些同時存在于兩個表格中的學員。如果不輸入這個how的話會默認為是inner。
中間的left_on就是data1(表格1,參見上面代碼)的學員姓名欄名稱,right_on就是data2(表格2,參見上面代碼)的學員姓名欄名稱,這樣就會自動匹配對齊。如果兩個表格學員姓名欄名稱一樣,可以改為使用下面的代碼更加簡單。
dataMerge=pd.merge(data1,data2,on='name')
3 保存表格最後我們用下面的命令把合并好的數據保存成Excel文件。
dataMerge.to_excel('合并表格.xlsx')
上面這句代碼運行後就會自動生成一個新的Excel文件,你可以用Excel打開查看再做進一步的手工檢查和修改。
上面動圖中我們使用的是Notebook軟件進行編寫代碼的,如果你還不知道這個軟件的安裝方法,可以關注我,浏覽我之前的文章。
,