三行Python代码,合并多个Excel文件

嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默...

 

[[324919]]

下面是三个Excel文件内容:

 

下面是生成的汇总表:

 

第一步:安装相关包并导入

只用到了Python自带的OS模块,还有pandas包,没有pandas则安装:

 
 
 
  1. pip install pandas 

安装完成后导入:

 
 
 
  1. import osimport pandas as pd 

第二步:查找所有Excel文件并读取内容

 
 
 
  1. excels = [pd.read_excel(fname) for fname in os.listdir('./') if 'xls' in fname] 

因为Excel文件有两种后缀:xls和xlsx,都包含了xls,故通过文件名中是否有xls,来判断该文件是否为Excel文件。

还有一点就是注意文件路径,我代码和Excel文件在同一目录下,所以是‘./’

第三步:合并所有Excel文件内容

 
 
 
  1. df = pd.concat(excels) 

这一步应该是最核心的一步,感谢pandas中的concat方法,可以直接按行合并(列数不变,行数变)

第四步:生成最终的汇总文件

 
 
 
  1. df.to_excel('汇总.xlsx'index=False

若index为True,则每行数据最前面会多出一个索引值(索引值是该行数据在原Excel中的索引,而不是在汇总表中的索引)

是不是很简单,除去导入包的两行代码外,是不是只需三行呀!

THE END