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

如何禁用Python Polars生成Excel时负数的字体颜色格式化

如何禁用Polars write_excel方法对负数自动设置字体颜色的功能?

Polars的write_excel方法默认会给数值类型的负数自动添加红色字体格式,即使你设置了column_formats=None也会生效。要禁用这个行为,你可以通过自定义xlsxwriter格式对象来覆盖默认的负数格式,具体操作如下:

  • 先创建一个xlsxwriter格式,指定数值格式为你需要的样式(比如你代码里的整数格式'0'),确保负数的显示规则和正数一致,不额外设置颜色
  • 将这个格式通过column_formats参数应用到所有数据列

修改后的代码示例:

import polars as pl
import xlsxwriter
import numpy as np  # 原代码遗漏了numpy的导入,需补充

df2 = pl.DataFrame(data=np.random.randint(-10, 10, 5*3).reshape(-1, 3), schema=['x', 'y', 'z'])

with xlsxwriter.Workbook(r'_out_.xlsx') as workbook:
    # 创建自定义格式:整数格式,负数不显示特殊颜色
    num_format = workbook.add_format({'num_format': '0'})
    # 用字典推导式快速为所有列绑定格式,避免逐个列名指定
    column_formats = {col: num_format for col in df2.columns}
    
    df2.write_excel(workbook=workbook, worksheet='sheet1',
                    autofit=True, table_style=None, 
                    column_formats=column_formats,
                    conditional_formats=False, float_precision=0, sparklines=None, formulas=None)

这样生成的Excel文件中,负数会和正数使用相同的字体颜色,不会自动变成红色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:54:54