gpt4 book ai didi

python - Python xlwt 库中的 set_style 不适用于包含文本的单元格

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:50 26 4
gpt4 key购买 nike

我正在使用 Python 处理 Excel 电子表格。如果不遵守条件,我想更改整行的背景颜色。但是,运行我的代码后,仅行的空单元格(不包含任何字符的单元格)的背景颜色发生变化。我的前 9 列包含信息,我的代码仅将背景颜色从 J 列更改为 Z 列。

from xlrd import open_workbook
from xlwt import Workbook, easyxf
Error_Style = easyxf('pattern: pattern solid, fore_colour red;',)

[...]

else:
w_sheet.row(row_index).set_style(Error_Style)

[...]

我想知道我是否在 easyxf 中使用了错误的模式。

最佳答案

每当您使用 xlwt 编写单元格时,您不仅会编写该单元格的值,还会编写该单元格的样式,该样式会覆盖该单元格中以前的任何样式。不幸的是,您不能只是“继承”行样式。目前,实现您想要的效果的方法是创建在写入受影响的行时使用的样式,并在写入值的同时包含这些样式。

例如,我有一份报告,其中背景应该在白色和灰色之间交替。虽然我想将所有偶数行设置为灰色,与值无关,但我必须有一对样式,并在适当的时间选择适当的样式。事情是这样的:

styles = (easyxf(), easyxf('pattern: pattern solid, fore_color gray25'))

for rx, record in enumerate(records, start=1):
style = styles[rx % 2] # Do your own conditional style selection here
for cx, value in enumerate(record):
ws.write(rx, cx, value, style)

事实上,我不止有一双款式,我有好几双。 (各种不同的列有不同的数字格式,一些百分比,一些日期等)因此对于我自己的情况,它比我上面显示的更复杂。但希望这能说明我所说的“在适当的时间选择适当的风格”的意思。

关于python - Python xlwt 库中的 set_style 不适用于包含文本的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com