2016-06-15 3 views
0

Я пытаюсь написать сценарий работы в excel от Python до Excel. Мне пришлось форматировать размер и тип столбцов уже, но мне нужен один из столбцов, чтобы иметь условные цвета.
ex./ столбец A имеет проценты. Для всех клеток < 0%, нам нужны клетки, чтобы быть красным Для всех клеток = 0%, нам нужны клетки, чтобы быть желтым Для всех клеток> 0%, нам нужны клетки, чтобы быть зеленымиусловный цвет фона в python - новый для python

И то первая строка каждого столбца должна быть синей.

Я нашел похожие сценарии, но они не такие условные.

Я попробовал несколько вариантов

# 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 

но держит застревание в бесконечном цикле.

Thanks

ответ

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

... 
Смежные вопросы