深圳幻海软件技术有限公司 欢迎您!

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

2023-02-27

嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默... 下面是三个Excel文件内容: 下面是生成的汇总表: 第一步:安装相关包并导入只用到了Python自带的OS模块,还有pandas包,没有pandas则安装:复制pip ins

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

 

下面是三个Excel文件内容:

 

下面是生成的汇总表:

 

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

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

pip install pandas 
  • 1.

安装完成后导入:

import osimport pandas as pd 
  • 1.

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

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

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

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

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

df = pd.concat(excels) 
  • 1.

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

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

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

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

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