Python脚本合并多个Excel文件

本脚本适用于将多个Excel文件的多个sheet中的数据合并到一个sheet中。

一、读取指定目录下的所有文件

import pandas as pd
import os

target_path = r"D:\工作文档\8月"
file_list = os.listdir(target_path)
resultExcel = []
df = pd.DataFrame()

二、读取指定文件,输出文件内容

for file_name in file_list:
    file_path = os.path.join('%s%s%s', (target_path, "\\", file_name))
    print(file_path)
    excelNames = pd.ExcelFile(file_path)
    sheetNames = excelNames.sheet_names  
    print(sheet_names)
    print("开始循环处理表格")
    for sheetname in sheetNames:
        print('开始处理的表格 ' + sheetname)
        df = excelNames.parse(sheetname)
        resultExcel.append(df) 

三、将读取的所有内容写入到一个Excel文件

df = pd.concat(resultExcel)
excelName = r"D:\工作文档\合并文件.xlsx"
writer = ExcelWriter(excelName)
df.to_excel(excel_writer=writer, sheet_name="sheet_combine", encoding="utf-8", index=False)
writer.save()
writer.close()

四、完整脚本

import pandas as pd
import os

target_path = r"D:\工作文档\8月"
file_list = os.listdir(target_path)
resultExcel = []
df = pd.DataFrame()

for file_name in file_list:
    file_path = os.path.join('%s%s%s', (target_path, "\\", file_name))
    print(file_path)
    excelNames = pd.ExcelFile(file_path)
    sheetNames = excelNames.sheet_names  # 查看所有sheet页面
    print(sheet_names)
    print("开始循环处理表格")
    for sheetname in sheetNames:
        print('开始处理的表格 ' + sheetname)
        df = excelNames.parse(sheetname)
        resultExcel.append(df)  # 将读取的所有内容写入dataframe

df = pd.concat(resultExcel)
excelName = r"D:\工作文档\合并文件.xlsx"
writer = ExcelWriter(excelName)
df.to_excel(excel_writer=writer, sheet_name="sheet_combine", encoding="utf-8", index=False)
writer.save()
writer.close()

参考文章
Pandas DataFrame.to_excel()用法详解
pandas中的ExcelWriter和ExcelFile的实现方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容