параметры worksheet.conditional_format для ExcelWriter в цикле

Есть необходимость кастомизации выгрузки данных в файл-эксель (xlsx) из DataFrame Pandas. Например цветовая маркировка ячеек в зависимости от их значения. Вот тут идёт получение данных через АПИ бэкенда и перенос этих данных в объект DataFrame:

with  urllib.request.urlopen(url) as req:
    data = json.load(req)
    df_s = pd.DataFrame(data )

Далее я в цикле хочу перебрать строки и, в зависимости от значения, сделать цвет ячейки. И на этом этапе не отрабатывает, а именно строка с 'value': importance.strip() :

for i, row in df_s.iterrows():
    importance = str(row['service_importance']).lstrip()
    worksheet.conditional_format('I'+ str(i+1) + ':I' + str(i+1), {'type': 'cell',
                                       'criteria': '=',
                                       'value': importance.strip()
                                       'format': color_d[importance.strip()] })

Причём строка 'format': color_d[importance.strip()] отрабатывает с переменной и значение подхватывает. Вне цикла (пример ниже) всё работает нормально, но без цикла код становится слишком большим, потому что значений может быть много.

worksheet.conditional_format('I2:I'+str(len(df_s)+1), {'type': 'cell',
                                       'criteria': '=',
                                       'value': val_of_cell_6,
                                       'format': color_d[val_of_cell_6] })

Ниже все импорты:

import requests
import json
import pandas as pd
import numpy as np
import os
import locale
os.environ["PYTHONIOENCODING"] = "utf-8"
import urllib.request
from urllib.parse import quote

import string

Ответы (0 шт):