三行Python代碼,合并多個Excel文件
嘴上說著單身(Excel)挺好,可是看到合適的人(Python),還是會沉默...
下面是三個Excel文件內(nèi)容:

下面是生成的匯總表:

第一步:安裝相關(guān)包并導(dǎo)入
只用到了Python自帶的OS模塊,還有pandas包,沒有pandas則安裝:
- pip install pandas
安裝完成后導(dǎo)入:
- import osimport pandas as pd
第二步:查找所有Excel文件并讀取內(nèi)容
- excels = [pd.read_excel(fname) for fname in os.listdir('./') if 'xls' in fname]
因為Excel文件有兩種后綴:xls和xlsx,都包含了xls,故通過文件名中是否有xls,來判斷該文件是否為Excel文件。
還有一點就是注意文件路徑,我代碼和Excel文件在同一目錄下,所以是‘./’
第三步:合并所有Excel文件內(nèi)容
- df = pd.concat(excels)
這一步應(yīng)該是最核心的一步,感謝pandas中的concat方法,可以直接按行合并(列數(shù)不變,行數(shù)變)
第四步:生成最終的匯總文件
- df.to_excel('匯總.xlsx', index=False)
若index為True,則每行數(shù)據(jù)最前面會多出一個索引值(索引值是該行數(shù)據(jù)在原Excel中的索引,而不是在匯總表中的索引)
是不是很簡單,除去導(dǎo)入包的兩行代碼外,是不是只需三行呀!