|
现有多张xls表,放入python程序所在的文件夹,我的是test

?打开一个表是这样子的:

好,现在要把几张表上下拼接成一张表,且表头不重复,代码如下:?
| 取数表 | 多个xls表或多个xlsx表 | | 目标表 | 一个xlsx表 | | 应用场景 | xls表所有数据汇总到一个表,表头不重复 | | 引用模块 | os,pandas | | 序号 | 代码 | | 1 | # 导入模块 | | 2 | import os, pandas as pd | | 3 | def get_files(path): | | 4 | ? ? fs = [] | | 5 | ? ? for root, dirs, files in os.walk(path): | | 6 | ? ? ? ? for file in files: | | 7 | ? ? ? ? ? ? fs.append(os.path.join(root,file)) | | 8 | ? ? return fs | | 9 | def merge(): | | 10 | ? ? # 批量表所在文件夹路径 | | 11 | ? ? files = get_files('./费用流水/') | | 12 | ? ? arr = [] | | 13 | ? ? for i in files: | | 14 | ? ? ? ? arr.append(pd.read_excel(i)) | | 15 | ? ? # 目标文件的路径 | | 16 | ? ? writer = pd.ExcelWriter('./流水汇总.xlsx') | | 17 | ? ? pd.concat(arr).to_excel(writer,'sheet1',index=False) | | 18 | ? ? writer.save() | | 19 | if __name__ == '__main__': | | 20 | ? ? merge() |
运行结果如下:

?原始表换成多张xlsx格式的表也是一样的, 代码不需要变更,直接适用,亲测有效
|