python中的条件背景颜色 - python

时间:2016-06-15 20:58:41

标签: python-2.7 jupyter-notebook

我正在尝试将工作脚本编写成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

但是它一直陷入无限循环。

谢谢

1 个答案:

答案 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'})

...