这是我的代码,我的问题似乎是将数据帧写入Excel创建我无法覆盖的格式:

import polars as pl
import xlsxwriter as writer

df = pl.DataFrame({
    "A": [1, 2, 3, 2, 5],
    "B": ["x", "y", "x", "z", "y"]
})

with writer.Workbook('text_book.xlsx') as wb:
    worksheet = wb.add_worksheet()
    data_format1 = wb.add_format({'bg_color': '#FFC7CE'})
    df.write_excel(wb, worksheet = 'Sheet1', autofilter= False,
                         autofit = True, position = 'A3', include_header = False)
    for row in range(0,10,2):
        worksheet.set_row(row+2, cell_format=data_format1)

输出:

enter image description here

理想情况下,输出应为:

enter image description here

我正在寻找一种迭代行索引列表并为这些行设置 colored颜色 的方法.

推荐答案

您的样例代码不能按预期工作的原因是Polarswrite_excel()对数字应用了一种单元格格式,并覆盖了行格式.

您可以通过这write_excel()个API控制列或数据类型的格式化,但这不会让您逐行控制.实现所需内容的更好方法是为输出数据框设置表样式属性.

Polars将数据帧导出为工作表表格(请参见XlsxWriter个文档),因此您可以按如下方式指定表格样式:

mport polars as pl
import xlsxwriter as writer

df = pl.DataFrame({
    "A": [1, 2, 3, 2, 5],
    "B": ["x", "y", "x", "z", "y"]
})

with writer.Workbook("text_book.xlsx") as wb:
    worksheet = wb.add_worksheet()
    df.write_excel(
        wb,
        worksheet="Sheet1",
        autofilter=False,
        autofit=True,
        position="A3",
        include_header=False,
        table_style="Table Style Medium 3",
    )

其输出如下所示:

enter image description here

Python相关问答推荐

比较两个数据帧并并排附加结果(获取性能警告)

将图像拖到另一个图像

C#使用程序从Python中执行Exec文件

两个pandas的平均值按元素的结果串接元素.为什么?

Python解析整数格式说明符的规则?

try 将一行连接到Tensorflow中的矩阵

梯度下降:简化要素集的运行时间比原始要素集长

mypy无法推断类型参数.List和Iterable的区别

Django RawSQL注释字段

如何保持服务器发送的事件连接活动?

如何更新pandas DataFrame上列标题的de值?

根据客户端是否正在传输响应来更改基于Flask的API的行为

为什么dict. items()可以快速查找?

用来自另一个数据框的列特定标量划分Polars数据框中的每一列,

为什么在Python中00是一个有效的整数?

我怎么才能用拉夫分拣呢?

将像素信息写入文件并读取该文件

Django更新视图未更新

删除另一个div中的特定div容器

正则表达式反向查找