嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默...
下面是三个Excel文件内容:

下面是生成的汇总表:

第一步:安装相关包并导入
只用到了Python自带的OS模块,还有pandas包,没有pandas则安装:
- pip install pandas
安装完成后导入:
- import osimport pandas as pd
第二步:查找所有Excel文件并读取内容
- excels = [pd.read_excel(fname) for fname in os.listdir('./') if 'xls' in fname]
因为Excel文件有两种后缀:xls和xlsx,都包含了xls,故通过文件名中是否有xls,来判断该文件是否为Excel文件。
还有一点就是注意文件路径,我代码和Excel文件在同一目录下,所以是‘./’
第三步:合并所有Excel文件内容
- df = pd.concat(excels)
这一步应该是最核心的一步,感谢pandas中的concat方法,可以直接按行合并(列数不变,行数变)
第四步:生成最终的汇总文件
- df.to_excel('汇总.xlsx', index=False)
若index为True,则每行数据最前面会多出一个索引值(索引值是该行数据在原Excel中的索引,而不是在汇总表中的索引)
是不是很简单,除去导入包的两行代码外,是不是只需三行呀!