Python:read_sql生成的DataFrame指定列文本着色失败求助
解决DataFrame指定列文本设为红色的问题
你之前的代码错误在于使用了background-color(设置背景色),而你需要的是文本颜色,应该改用color这个CSS属性。
方法一:使用set_properties(最简单直接)
直接修改属性为color: red,同时指定目标列作为subset参数:
df2.style.set_properties(**{'color': 'red'}, subset=['Reviewer'])
- 在Jupyter Notebook/Lab中,直接运行这段代码就能看到带样式的表格;
- 如果需要导出为可查看的HTML文件,可追加
.to_html('styled_table.html')方法。
方法二:使用applymap实现
若想用applymap,可以通过按列处理的方式,给目标列设置文本颜色:
def style_reviewer(val, col_name): return 'color: red' if col_name == 'Reviewer' else '' # 按列应用样式 df2.style.apply(lambda col: [style_reviewer(v, col.name) for v in col], axis=0)
排查无效情况的关键点
- 确认列名拼写完全一致:
subset里的'Reviewer'必须和DataFrame中的列名完全匹配(包括大小写、空格); - 非交互式环境(如普通Python脚本)中,直接打印
style对象看不到效果,需导出为HTML或使用渲染工具展示。
内容的提问来源于stack exchange,提问作者Uma Bhat
相关产品推荐
相关产品推荐

