Pandas DataFrame到HTML:格式化要以中心显示的值

2024-05-10 12:01:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandasDataFrame,并且正在使用DataFrame.to_html方法生成一个表,我可以在HTML电子邮件中发送。我只希望某些列中的值居中,但也希望知道如何将格式应用于表。我试过在使用to_html之前应用找到的HERE文档以及使用df.style文档,如下所示:

df.style.set_properties(**{'text-align':'center'})

但是我仍然将所有的值左对齐(除了位于中间的标题)。

什么是将所有列值(或子集)居中的正确方法,还有哪些其他选项可用于格式化?(例如粗体文本、更改背景或边框颜色等)

此外,应在哪个阶段应用此格式?在to_html方法内还是在我尝试df.style方法之前?谢谢!


Tags: to方法text文档dataframedfherestyle
2条回答

在经过一些研究和Bubble Bubble Bubble Gut的帮助后,可以通过以下方式轻松地用<tr align="center">替换所有<tr>标记:

html2 = html.replace('<tr>', '<tr align="center">')
print(html2)

我建议在to_html函数中使用格式化程序,参数说明:

formatters : list or dict of one-parameter functions, optional formatter functions to apply to columns’ elements by position or name, default None. The result of each function must be a unicode string. List must be of length equal to the number of columns.

如果要将所有的Name列设为粗体,则示例:

df.to_html(formatters={'Name': lambda x: '<b>' + x + '</b>'})

让我知道它是否有效!

相关问题 更多 >