You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将多目录下的多份.xls文件合并为单份.xls文件并以文件名命名工作表

合并指定目录下多份XLS文件为单文件(按文件名作为工作表名)

我帮你整理了一个实用的Python脚本,完美解决你合并XLS文件的需求——每个源文件对应一个工作表,用原文件名做表名,还能完整保留所有无表头的单列数据:

准备工作

首先得安装必要的依赖库,打开命令提示符执行:

pip install pandas xlwt xlrd==1.2.0

注意:xlrd需要指定1.2.0版本,因为2.0及以上版本不再支持读取.xls格式文件;xlwt负责生成最终的.xls输出文件。

完整代码实现

import os
import pandas as pd

def merge_xls_files(target_dir, output_file="merged_result.xls"):
    # 初始化Excel写入器,指定用xlwt引擎生成xls格式
    writer = pd.ExcelWriter(output_file, engine='xlwt')
    
    # 遍历目标目录下的所有文件
    for filename in os.listdir(target_dir):
        # 只处理后缀为.xls的文件(忽略大小写)
        if filename.lower().endswith(".xls"):
            file_full_path = os.path.join(target_dir, filename)
            # 读取文件:因为源文件无表头,设置header=None
            df = pd.read_excel(file_full_path, header=None)
            # 提取工作表名称:去掉文件名的.xls后缀
            sheet_name = os.path.splitext(filename)[0]
            # 将数据写入对应工作表:不保留索引、不添加表头
            df.to_excel(writer, sheet_name=sheet_name, index=False, header=False)
    
    # 保存并关闭写入器,完成合并
    writer.save()
    print(f"合并任务完成!结果已保存到:{os.path.abspath(output_file)}")

# ------------------- 使用示例 -------------------
# 替换成你要处理的目标目录路径,比如Windows下的"C:/test/xls_files",Mac/Linux下的"/home/user/xls_files"
target_directory = "你的目标目录绝对路径"
merge_xls_files(target_directory)

使用说明

  • 把代码里的target_directory替换成你实际要处理的文件夹路径,注意路径格式(Windows用反斜杠或者双反斜杠,Mac/Linux用正斜杠)
  • 运行脚本后,会在当前目录生成名为merged_result.xls的文件,你也可以在调用merge_xls_files时自定义输出文件名,比如merge_xls_files(target_directory, "我的合并结果.xls")
  • 脚本会自动跳过目录下非.xls的文件,只处理符合要求的文件

内容的提问来源于stack exchange,提问作者MEd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:49:33