我正在尝试将工作脚本编写成excel,从Python到excel。我必须格式化列的大小和类型,但我需要其中一列具有条件颜色 ex./ A列有百分比。 对于所有细胞< 0%,我们需要细胞是红色的 对于所有细胞= 0%,我们需要细胞是黄色的 对于所有细胞> 0%,我们需要细胞为绿色
然后,每列的第一行需要为蓝色。
我发现脚本类似,但它们不是有条件的。
我尝试了一些
的变体# Light red fill.
format1 = name.add_format({'bg_color': '#FFC7CE'})
# Light yellow fill.
format2 = name.add_format({'bg_color': '#FFEB9C'})
# Green fill.
format3 = name.add_format({'bg_color': '#C6EFCE'})
try:
sheet1.conditional_format('A:A', {'type': 'cell',
'criteria': '<',
'value': 0,
'format': format1})
sheet1.conditional_format('A:A', {'type': 'cell',
'criteria': '==',
'value': 0,
'format': format2})
sheet1.conditional_format('A:A', {'type': 'cell',
'criteria': '>',
'value': 0,
'format': format3})
except AttributeError:
sheet1.conditional_format = None
except TypeError:
type = None
但它不会改变颜色
我尝试了一些
的变体while 'BU:BU' != " " :
if 'BU:BU' < '0%':
sheet1.style = redFill
elif 'BU:BU' == '0%':
sheet1.style = yellowFill
elif 'BU:BU' > '0%':
sheet1.style = '#C6EFCE'
else:
pass
continue
但是它一直陷入无限循环。
谢谢
答案 0 :(得分:0)
我弄明白了这个问题。为了使其工作,三种格式不能在同一个单元格中。除了例外,每个都需要独立。
此外,需要对其运行的单元格进行边界处理。如果它会以不断变化的行数运行多次,你可以拍得很高。
一个单元格:
# Light red fill.
format1 = name.add_format({'bg_color': '#FFC7CE'})
try:
sheet1.conditional_format('A1:A900', {'type': 'cell',
'criteria': '<',
'value': 0,
'format': format1})
except AttributeError:
sheet1.conditional_format = None
except TypeError:
type = None
另一个细胞:
# Light yellow fill.
format2 = name.add_format({'bg_color': '#FFEB9C'})
...