Pandas DataFrame 到 HTML:格式化值以居中显示

新手上路,请多包涵

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

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

但我仍然让我所有的值左对齐(除了标题,它们居中)。

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

此外,应该在什么阶段应用这种格式?在 to_html 方法中还是在我尝试使用 df.style 之前?谢谢!

原文由 Richard Golz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.3k
2 个回答

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

格式化程序:单参数函数的列表或字典,可选的格式化程序函数,按位置或名称应用于列的元素,默认为无。每个函数的结果必须是一个 unicode 字符串。列表的长度必须等于列数。

例如,如果您想将所有 Name 列设为粗体:

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

让我知道它是否有效!

原文由 Bubble Bubble Bubble Gut 发布,翻译遵循 CC BY-SA 3.0 许可协议

经过一些研究和 Bubble Bubble Bubble Gut 的帮助,这可以通过将所有 <tr> 标签替换为 <tr align="center"> 来轻松完成:

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

原文由 Richard Golz 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题