我有一个pandas
DataFrame
,正在使用DataFrame.to_html
方法生成一个可以在HTML电子邮件消息中发送的表。我只是希望某些列中的值居中,但也想知道一般如何将格式应用于表格。在使用to_html
之前,我尝试应用HERE文档以及使用df.style
,如下所示:
df.style.set_properties(**{'text-align':'center'})
但我仍然得到了我所有的值左对齐(除了标题,这是居中)。
将所有列值(或列值的子集)居中的正确方法是什么?还有哪些其他选项可用于格式化?(例如,粗体文本,更改背景或边框颜色等)
此外,在什么阶段应该应用这种格式?在to_html
方法中还是在df.style
方法之前?谢谢!
5条答案
按热度按时间jtjikinw1#
如果你想让整个表格居中,只需使用justify参数:
jtoj6r0c2#
我建议在
to_html
函数中使用formatters,参数描述:格式化程序:单参数函数的list或dict,可选的格式化程序函数按位置或名称应用于列的元素,默认值为None。每个函数的结果必须是unicode字符串。List的长度必须等于列数。
例如,如果你想让所有的
Name
列加粗:让我知道它是否有效!
olmpazwi3#
经过一些研究和Bubble Bubble Bubble Gut的帮助,这可以很容易地通过以下方式将所有
<tr>
标记替换为<tr align="center">
来完成:rta7y2nd4#
我在CSS和Python代码中做了一点修改,解决了这个问题。下面是我的Python代码:
我创建了一个“isi”类,并在CSS中这样写:
下面是结果Values Centered
xyhw6mcr5#
我建议使用
Styler
对象而不是to_html()
参数。这样你就可以把样式和渲染分开。