Python Pandas实现简单Excel数据表合并

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)