繁体   English   中英

Python Pandas DataFrame和Excel:添加单元格背景色

[英]Python pandas dataframe and excel: Add cell background color

目前,我这样保存数据框

writer = ExcelWriter('test.xlsx')
test_df.to_excel(writer,'Sheet1')
writer.save()

结果Excel文件看起来像这样

cus  1  abc 2 jbd 3 lkl ...
1   col  v  v  v  v  v ...
2    v   v col v  v  v ... 
3    v   v  v  v col v ...

我需要的是,当cus value == header值时,该单元格应该具有绿色背景。 在上面的示例中,所有值为“ col”的单元格应设置为绿色背景。 我怎样才能做到这一点?

Pandas 0.20.0中一项新功能- Excel output for styled DataFrames

styled = (df.style
            .applymap(lambda v: 'background-color: %s' % 'green' if v=='col' else ''))
styled.to_excel('d:/temp/styled.xlsx', engine='openpyxl')

结果:

在此处输入图片说明

您可以使用StyleFrame库来实现此目的。

安装

pip install styleframe

该库的文档可以在这里找到。

请尝试以下代码,以检查它是否可以满足您的目的。

import pandas as pd
from StyleFrame import StyleFrame, Styler

df = pd.DataFrame(" Your Dataframe ")

sf = StyleFrame(df)
style = Styler(bg_color='green') 
for col_name in df.columns:
    sf.apply_style_by_indexes(sf.loc[sf['col_name']== col_name ], cols_to_style=col_name,
                          styler_obj=style)
sf.to_excel('test.xlsx').save()

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM