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

Pyexcel无法合并多份.xls文件,寻求解决方案

解决Pyexcel合并多个XLS文件到单个工作簿的问题

嘿,我明白你想用Pyexcel把多个.xls文件合并成一个工作簿,每个文件对应同名工作表的需求,代码跑不起来确实挺让人头疼的。虽然你没贴出控制台的具体报错信息,但我可以给你梳理几个常见的问题点,再附上经过验证的可行代码,帮你搞定这个事儿!

常见的失败原因排查

  • 依赖库未完整安装:Pyexcel处理.xls文件需要依赖pyexcel-xls插件,只装pyexcel本身是不够的,得确保这个插件也安装到位。
  • 文件路径问题:要么是文件路径写错了,要么是脚本所在目录和XLS文件不在同一位置,导致程序找不到目标文件。
  • 文件名特殊字符:如果你的XLS文件名包含空格、中文或者特殊符号,可能会导致Pyexcel读取异常。
  • Pyexcel版本兼容:不同版本的Pyexcel可能有API变化,建议使用稳定的最新版。

正确的Pyexcel实现代码

先确保安装了必要的库:

pip install pyexcel pyexcel-xls

然后用下面的代码尝试:

import pyexcel as pe
import os

# 设置存放XLS文件的文件夹路径,比如当前目录下的xls_files文件夹
xls_folder = "./xls_files"
# 最终输出的合并后工作簿名称
output_file = "merged_workbook.xls"

# 创建一个空的工作簿对象
merged_book = pe.Book()

# 遍历文件夹下的所有XLS文件
for filename in os.listdir(xls_folder):
    if filename.endswith(".xls"):
        # 拼接完整文件路径
        file_path = os.path.join(xls_folder, filename)
        # 获取不带后缀的文件名作为工作表名称
        sheet_name = os.path.splitext(filename)[0]
        # 读取当前XLS文件的数据
        sheet = pe.get_sheet(file_name=file_path)
        # 将当前工作表添加到合并工作簿中
        merged_book[sheet_name] = sheet

# 保存合并后的工作簿
merged_book.save_as(output_file)
print(f"合并完成!文件已保存为 {output_file}")

备选方案:用Pandas实现(兼容性更好)

如果Pyexcel还是有问题,试试用Pandas结合xlrd(读xls)和openpyxl(写xlsx)的方案,这个在实际项目里更常用,兼容性也更强:

pip install pandas xlrd openpyxl

代码示例:

import pandas as pd
import os
from openpyxl import load_workbook

xls_folder = "./xls_files"
output_file = "merged_workbook.xlsx"

# 创建一个ExcelWriter对象,用于写入多个工作表
with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
    for filename in os.listdir(xls_folder):
        if filename.endswith(".xls"):
            file_path = os.path.join(xls_folder, filename)
            sheet_name = os.path.splitext(filename)[0]
            # 读取xls文件
            df = pd.read_excel(file_path, engine='xlrd')
            # 将DataFrame写入对应的工作表
            df.to_excel(writer, sheet_name=sheet_name, index=False)

print(f"合并完成!文件已保存为 {output_file}")

如果还是有问题,把控制台的具体报错信息贴出来,我可以帮你进一步排查!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:57:00