import pandas as pd
import os
import time
time_start = time.time()
rootdir = r'E:\路径1\路径11\路径1111'
list = os.listdir(rootdir) # 列出文件夹下所有的目录与文件
l = len(list)
for i in range(0, l):
path = os.path.join(rootdir, list[i])
df = pd.read_excel(path, header=2, converters={'XXX': str}) #数据(含列标题)从第三行起,XXX(列名称)强制转文本
if i == 0:
result = df
else:
result = result.append(df)
print(list[i])
time_end = time.time()
print('to_excel...')
result.to_excel(rootdir + '\\' + 'Excel合并.xlsx', index=False,engine='xlsxwriter') # 经测试对比,较大Excel合并时,xlsxwriter时间开销约为openpyxl的60%,且文件较小
time_end1 = time.time()
print('to_excel 完成!\n用时(秒):', time_end1 - time_end)
一般使用vba合并,但经常有一批需要合并的批量导出表,vba打开时受一个无法处理的提示信息影响,vba不能直接合并。用python合并却不受影响。
该博客介绍了如何使用Python进行批量Excel文件的合并操作,规避了VBA在处理某些文件时可能出现的问题。代码示例展示了通过`os`和`pandas`库读取指定文件夹中的Excel文件,从第三行开始读取并转换特定列的数据类型,然后将所有数据帧合并成一个大的数据帧,并最终保存为一个新的Excel文件。整个过程记录了执行时间和效率。
2670

被折叠的 条评论
为什么被折叠?



