如何通过Pandas to_html直接为测试报告表格指定单元格设置背景色?
Pandas生成带单元格背景色的HTML表格方案
实现思路
直接给目标列的单元格值添加内嵌HTML的<span>标签,通过style属性指定背景色,再关闭to_html()的转义功能,让浏览器解析这些样式标签。
具体操作
处理目标列数据,替换为带样式的HTML字符串
假设你的测试报告DataFrame是test_df,需要设置背景色的列是测试结果和二次校验,通过关键词通过/失败判断:def format_cell(val): if val == "通过": return '<span style="background-color: #90EE90; padding: 3px;">通过</span>' elif val == "失败": return '<span style="background-color: #FFCCCB; padding: 3px;">失败</span>' return val # 对指定列应用样式格式化 test_df['测试结果'] = test_df['测试结果'].apply(format_cell) test_df['二次校验'] = test_df['二次校验'].apply(format_cell)生成HTML表格时关闭转义
调用to_html()时设置escape=False,避免HTML标签被转义成文本:html_output = test_df.to_html(escape=False, index=False)
额外提示
- 如果目标列不是字符串类型,先通过
astype(str)转换后再处理 - 可以自定义颜色和样式,比如添加字体颜色、加粗:
style="background-color: green; color: white; font-weight: bold;" - 若需要给整行设置样式,也可以用类似思路给行添加
<tr style="...">标签,但需要结合to_html的formatters参数或手动拼接HTML
内容的提问来源于stack exchange,提问作者albsposito
相关产品推荐
相关产品推荐

