Python 3.x xlsxwriter-基于数据帧列名的条件格式

Python 3.x xlsxwriter-基于数据帧列名的条件格式,python-3.x,xlsxwriter,Python 3.x,Xlsxwriter,我有一个如下的数据帧。我想使用列名对列“Data2”应用条件格式。我知道如何定义特定列的格式,但不确定如何根据列名称定义格式,如下所示 所以基本上我想对列名进行相同的格式化(因为列的顺序可能会改变) df1 = pd.DataFrame({'Data1': [10, 20, 30], 'Data2': ["a", "b", "c"]}) writer = pd.ExcelWriter('pandas_filter.xlsx', engine='xlsxwri

我有一个如下的数据帧。我想使用列名对列“Data2”应用条件格式。我知道如何定义特定列的格式,但不确定如何根据列名称定义格式,如下所示

所以基本上我想对列名进行相同的格式化(因为列的顺序可能会改变)

df1 = pd.DataFrame({'Data1': [10, 20, 30],
                   'Data2': ["a", "b", "c"]})
writer = pd.ExcelWriter('pandas_filter.xlsx', engine='xlsxwriter', )
workbook  = writer.book

df1.to_excel(writer, sheet_name='Sheet1', index=False)
worksheet = writer.sheets['Sheet1']
blue = workbook.add_format({'bg_color':'#000080', 'font_color': 'white'})
red = workbook.add_format({'bg_color':'#E52935', 'font_color': 'white'})

l = ['B2:B500']
for columns in l:
    worksheet.conditional_format(columns, {'type': 'text',
                                              'criteria': 'containing',
                                               'value': 'a',
                                               'format': blue})
    worksheet.conditional_format(columns, {'type': 'text',
                                              'criteria': 'containing',
                                               'value': 'b',
                                               'format': red})

writer.save()