使用颜色pd.ExcelWriter格式化excel文件

我有一个dataframeDF

df Out[15]: Subject ID StartDate 2017-11-06 ID1 2017-11-07 ID1 2017-11-08 ID2 2017-11-10 ID3 

我把它保存在一个excel文件中

 writer = pd.ExcelWriter(os.path.join(folders_path,'summary.xls')) df.to_excel(writer,'Sheet1') writer.save() 

不过,我想根据Subject ID格式化行的颜色,即我想为每个ID不同的颜色

您必须使用“xlsxwriter”引擎并定义您的格式。

以下是可能的一个片段:

 #!/usr/bin/env python3 from datetime import date import pandas as pd data = [['2017-11-06', 'ID1'], ['2017-11-07', 'ID1'], ['2017-11-08', 'ID2'], ['2017-11-10', 'ID3']] df = pd.DataFrame(data, columns=['StartDate', 'Subject ID']) print(df) writer = pd.ExcelWriter('/home/spomared/tmp/summary.xls', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', index=False) workbook = writer.book worksheet = writer.sheets['Sheet1'] my_formats = {'"ID1"': '#FF0000', '"ID2"': '#00FF00', '"ID3"': '#0000FF'} for val, color in my_formats.items(): fmt = workbook.add_format({'font_color': color}) worksheet.conditional_format('B2:B5', {'type': 'cell', 'criteria': '=', 'value': val, 'format': fmt}) writer.save() 

这里是输出Excel文件:

在这里输入图像说明

您可以在http://xlsxwriter.readthedocs.io/working_with_conditional_formats.html上find一些条件格式的参考