熱線電話:13121318867

登錄
首頁精彩閱讀教你用Python批量實現文件夾下所有Excel文件的第二張表合并
教你用Python批量實現文件夾下所有Excel文件的第二張表合并
2022-01-27
收藏

作者:Python進階者

來源:Python爬蟲與數據挖掘

問題:想向大佬們求教個問題,如果我有這樣的需求,如何完成:

1、將A文件中名為a的sheet和B文件中名為b的sheet合并到一個sheet中去。

2、將文件夾下所有文件的第二張表合并。我做出來了,核心部分沒有用pandas,而且邏輯比較繁瑣。想求一用pandas解決的簡潔方案。

1、解決思路

問題一和問題二的思路都挺常規的,就是取對應的表格,然后進行合并即可,這里仍然使用pandas來進行實現!

2、解決方法

問題一:將A文件中名為a的sheet和B文件中名為b的sheet合并到一個sheet中去。

這里基于之前【(這是月亮的背面)】提供的代碼,我稍微做了些修改,代碼如下:

# coding: utf-8 # 將A文件中名為a的sheet和B文件中名為b的sheet合并到一個sheet中去 from pathlib import Path import pandas as pd


path = r'E:PythonCrawler有趣的代碼Python自動化辦公將A文件中名為a的sheet和B文件中名為b的sheet合并到一個sheet中去' data_ex1 = pd.read_excel('ex1.xlsx', sheet_name='df1')
data_ex2 = pd.read_excel('ex2.xlsx', sheet_name='df2')
result = pd.concat([data_ex1, data_ex2], ignore_index=True)
result.to_excel('將A文件中名為a的sheet和B文件中名為b的sheet合并到一個sheet中去.xlsx', index=False, encoding='utf-8')
print('添加和合并完成!')

代碼運行之后,會生成一個新的excel文件,如下圖所示:

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

合并的結果如下圖所示:

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

完成之后,我發給【有點意思】大佬看,不過這個答案勉強符合他的意思,他后來自己也寫了一個代碼,能滿足自己的需求,這里發給大家看看。

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

問題二:將文件夾下所有文件的第二張表合并

這里基于之前【(這是月亮的背面)】提供的代碼,我稍微做了些修改,代碼如下:

# coding: utf-8 # 合并所有表格中的第二張表格 from pathlib import Path import pandas as pd


path = Path(r'E:PythonCrawler有趣的代碼Python自動化辦公將文件夾下所有文件的第二張表合并')
data_list = [] for i in path.glob("*.xls*"): # data = pd.read_excel(i, sheet_name='df2') data = pd.read_excel(i, sheet_name=1)
    data_list.append(data)


result = pd.concat(data_list, ignore_index=True)
result.to_excel(path.joinpath('取所有excel表的df2表進行合并.xlsx'), index=False, encoding='utf-8')
print('添加和合并完成!')

代碼運行之后,會生成一個新的excel文件,如下圖所示:

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

合并的結果如下圖所示:

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

細心的小伙伴可能發現代碼中的第9行,我其實是注釋了,一開始我測試的表格,命名規則很有規范,每個工作簿都有df1,df2,df3三張表格,所以在合并的時候直接指定了表名,但是這樣寫就會有問題,萬一有個表格中沒有df2工作表,這個代碼肯定就會報錯了,所以在【(這是月亮的背面)】大佬的指導下,使用了sheet_name=1參數,以索引來定位第二張表格,恰到好處,前提條件是你的Excel表格中必須要有第二張表格,否則就會出現下圖的錯誤。

教你用Python批量實現文件夾下所有Excel文件的第二張表合并

3、總結

我是Python進階者。本文基于粉絲針對Python處理Excel指定表格合并的提問,給出了一個利用Python基礎+pandas處理的解決方案。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢