xlsxwriter-基于数据框的列名称的条件格式

时间:2019-05-29 16:18:45

标签: python-3.x xlsxwriter

我有一个如下数据框。我想使用列名对列“ 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()

0 个答案:

没有答案