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

使用pandas.to_excel导出Excel时遇engine_kwargs参数错误求助

解决pandas写入Excel时的TypeError: ExcelFormatter.write()关键字参数错误

错误信息

文件路径:~\AppData\Local\anaconda3\envs\prod-env-text-bert\Lib\site-packages\pandas\core\generic.py:2345
在to_excel方法中
.. versionchanged:: 1.4.0 Zstandard支持。TypeError: ExcelFormatter.write()获得意外的关键字参数'engine_kwargs'

复现代码

# 导入包  
import pandas as pd  

# 数据字典  
dct = {'ID': {0: 23, 1: 43, 2: 12,  
              3: 13, 4: 67, 5: 89,  
              6: 90, 7: 56, 8: 34},  
      'Name': {0: 'Ram', 1: 'Deep',  
               2: 'Yash', 3: 'Aman',  
               4: 'Arjun', 5: 'Aditya',  
               6: 'Divya', 7: 'Chalsea',  
               8: 'Akash' },  
      'Marks': {0: 89, 1: 97, 2: 45, 3: 78,  
                4: 56, 5: 76, 6: 100, 7: 87,  
                8: 81},  
      'Grade': {0: 'B', 1: 'A', 2: 'F', 3: 'C',  
                4: 'E', 5: 'C', 6: 'A', 7: 'B',  
                8: 'B'}  
    }  

# 创建DataFrame 
data = pd.DataFrame(dct)  

# 写入Excel文件 
data.to_excel("output.xlsx")

环境版本信息

numpy                         1.24.4
numba                         0.57.1 
xlrd                          2.0.1
XlsxWriter                    3.1.2
pandas                        2.0.3

Python 3.11.5

环境搭建步骤

注:未标注pip install的包通过Anaconda IDE安装。

Python 3.11.5
# 安装C++构建工具本地操作步骤
选择:工作负载 → 使用C++的桌面开发
单个组件仅选:Windows 10 SDK、C++ x64/x86构建工具
安装后重启

#pip install -U bertopic
pip install bertopic[spacy]
pandas
pip install numpy==1.24.4
pip install numba==0.57.1  -- 需检查numba与numpy的版本兼容性
pip install matplotlib
wordcloud
pyarrow
openpyxl
pip install xlsxwriter==3.1.2
pip install gensim
pip install xlrd
python -m spacy download en_core_web_sm
pip install langdetect
pip install google_trans_new
pip install symspellpy
seaborn

问题原因

该错误源于pandas 2.0.x版本与旧版XlsxWriter(如你使用的3.1.2)存在兼容性冲突。pandas 2.0开始在to_excel方法中新增engine_kwargs参数,但旧版XlsxWriter的ExcelFormatter.write()方法未适配该参数,导致调用时抛出类型错误。

解决方法

方法1:升级XlsxWriter到兼容版本

执行命令升级XlsxWriter到支持engine_kwargs的版本(推荐升级至最新稳定版):

pip install --upgrade xlsxwriter

XlsxWriter从3.2.0版本开始适配pandas 2.0的engine_kwargs参数,升级后即可正常使用data.to_excel()方法。

方法2:指定openpyxl作为写入引擎

若不想升级XlsxWriter,可在to_excel中指定已安装的openpyxl作为引擎:

data.to_excel("output.xlsx", engine="openpyxl")

方法3:降级pandas到兼容版本

若依赖环境限制无法升级XlsxWriter,可将pandas降级到1.5.x版本(该版本不会传递engine_kwargs参数给XlsxWriter):

pip install pandas==1.5.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 03:22:52