当前位置: 首页 > news >正文

PyInstaller 打包后 Excel 转 CSV 报错解决方案:“excel file format cannot be determined“

一、问题背景
在使用 Python 开发 Excel 转 CSV 工具时,直接运行脚本(python script.py)可以正常工作,但通过 PyInstaller 打包成可执行文件后,出现以下报错:
excel file format cannot be determined, you must specify an engine manually

该问题通常发生在使用pandas.read_excel()读取 Excel 文件时,打包后的程序无法自动识别文件格式所需的解析引擎。
二、问题原因分析

  1. Pandas 引擎自动检测失效
    Pandas 处理 Excel 文件时依赖外部库:
    .xlsx格式需openpyxl
    .xls格式需xlrd直接运行时 Pandas 会自动检测扩展名并调用对应引擎,但打包后依赖库可能未正确包含,导致引擎检测失败。
  2. 打包工具未包含依赖
    PyInstaller 默认不会自动识别openpyxl/xlrd等非核心依赖,导致打包后的程序缺少必要模块。
    三、分步解决方案
    方案 1:显式指定 Excel 解析引擎(核心修复)
    修改代码,根据文件扩展名强制指定解析引擎,避免 Pandas 自动检测:
    import pandas as pd

读取Excel时增加引擎判断逻辑

if excel_path.lower().endswith(‘.xlsx’):
df = pd.read_excel(excel_path, sheet_name=sheet, engine=‘openpyxl’)
elif excel_path.lower().endswith(‘.xls’):
df

相关文章:

  • uniapp(vue3)动态计算swiper高度封装自定义hook
  • Foupk3systemX5OS TXW8移动设备
  • UE5中制作动态数字Decal
  • While语句数数字
  • 互信息:揭秘变量间的隐藏关联
  • 5.13本日总结
  • windows 强行终止进程,根据端口号
  • 【Linux 系统调试】系统的动态跟踪工具--SystemTap
  • 系统平衡与企业挑战
  • C++ 字符格式化输出
  • Linux 系统安全基线检查:入侵防范测试标准与漏洞修复方法
  • 【递归、搜索与回溯】专题一:递归(二)
  • SparkSQL 连接 MySQL 并添加新数据:实战指南
  • 微服务八股(自用)
  • hashicorp vault机密管理系统的国产化替代:安当SMS凭据管理系统,量子安全赋能企业密钥管理
  • 软考软件测评师——计算机网络
  • 【Pandas】pandas DataFrame cummin
  • NC报销单保存时,报”保存失败:fail to save VO Array ~#@“
  • SQL中联表的运用
  • EXCEL下拉菜单与交替上色设置
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • 微软宣布将裁员3%
  • 福州千余公共道路泊车位装“智能地锁”续:运营公司被责令改正并罚款
  • 泽连斯基批准美乌矿产协议
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查
  • 四姑娘山一游客疑因高反身亡,镇卫生院:送到时已很严重