写在前面的Tips:
-
可处处在代码中插入print语句,可以随时观察到代码进程,面对一堆traceback也大概有迹可循。
-
用pd.ExcelWriter(),最后要记得writer.save(), 不然无法保存到本地
-
运行时要把需要合并的文件关闭,不然会报错PermissionError: [Errno 13] Permission denied
-
如果报错信息:‘utf-8’ codec can’t encode characters in position 13-14: surrogates not allowed,可能是因为文件中含有emoji
直接上代码
import pandas as pd
import os
filepath = r"C:\Users\Haley\Desktop\test combination"
filenames = os.listdir(filepath)
# print(filenames)
num = 0
dfs = []
for name in filenames:
print(f'第{num}个文件正在合并中')
# print(path +"\\"+name)
dfs.append(pd.read_excel(os.path.join(filepath,name)))
num += 1 #为了查看合并到第几个表格了
df = pd.concat(dfs)
writer=pd.ExcelWriter(r"C:\Users\Haley\Desktop\result.xlsx")
df.to_excel(writer,sheet_name='Data1',index=False)
writer.save()
print('done')