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

如何通过pd.to_excel()的engine_kwargs设置Excel文本数字格式?

利用to_excel()的engine_kwargs设置Excel文本格式

一、优先方案:openpyxl引擎

直接通过engine_kwargs传递默认样式配置,指定数字格式为@(Excel文本格式代码),无需额外导入依赖:

import pandas as pd

df = pd.DataFrame([["23-3", "21-1"],
                   ["8-5", "6-7"]], columns=["A", "B"])

# 使用openpyxl引擎,设置默认单元格为文本格式
df.to_excel("test_openpyxl.xlsx", engine="openpyxl", engine_kwargs={'default_style': {'number_format': '@'}})

二、备选方案:xlsxwriter引擎

需先创建xlsxwriter格式对象,再通过engine_kwargs传入作为默认格式:

import pandas as pd
import xlsxwriter

df = pd.DataFrame([["23-3", "21-1"],
                   ["8-5", "6-7"]], columns=["A", "B"])

# 创建xlsxwriter文本格式对象
text_format = xlsxwriter.Workbook().add_format({'num_format': '@'})

# 使用xlsxwriter引擎,设置默认文本格式
df.to_excel("test_xlsxwriter.xlsx", engine="xlsxwriter", engine_kwargs={'default_format': text_format})

关键说明

  • 两种方案均无需使用pd.ExcelWriter,直接通过pd.DataFrame.to_excel()的engine_kwargs参数实现格式配置
  • 设置@格式后,Excel中编辑单元格回车时,不会自动将类似23-3的内容转为日期格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:52:12