簡體   English   中英

用pd.ExcelWriter顏色格式化Excel文件

[英]Format excel file with colors pd.ExcelWriter

我有一個數據框df

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上找到一些條件格式的參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM