【问题标题】:HTML IDs for rows of a Pandas Dataframe.to_html() outputPandas Dataframe.to_html() 输出行的 HTML ID
【发布时间】:2016-04-09 20:40:40
【问题描述】:

我正在尝试使用df.to_html() 和一些 CSS 规则以某种方式(取决于外部因素)设置 Pandas Dataframe 的某些行的样式,但是有没有办法使用 Pandas 为行提供 HTML ID,或者我会必须处理 to_html() 的原始 HTML 输出。

更多详情: 我有一个 Pandas 数据框,它是 SQL 查询的结果。它将与以前的查询结果进行比较,表格将作为电子邮件发送出去。我想突出显示新数据框的行。我正在考虑通过插入 CSS 规则来做到这一点,这些规则要么适用于生成的 HTML 表中特定行的 ID,要么通过将类附加到这些行。

【问题讨论】:

    标签: python html pandas


    【解决方案1】:

    您可以使用.to_html() classes 关键字(see docs) 将类附加到<table></table> 标记。如果您需要id 而不是class,您可以使用df.to_html(classes='my_class').replace('class', 'id') 修复输出。

    使用全新版本0.17.1pandas 收到conditional html formatting,允许更细粒度的布局控制 - 正在开发中:see docs.

    特别是,slicing 功能听起来像是您正在寻找的突出特定rows 的功能。 ipython 带有文档和交互式示例的笔记本:here

    对于超出<table> 级别的更复杂的调整,总是有BeautifulSoup,但这当然是事后而不是pandas 的一部分。

    【讨论】:

    • 哇,切片正是我想要的!我可能不会将它用于这项特定的工作(因为它正在开发中,我需要一些稳定的东西来工作),但如果我需要它继续前进,我正在努力。谢谢!
    • 我不得不说,必须在to_html 上进行查找/替换是我见过的主要解决方法......但自从@ 之后真的不应该有解决方法HTML 中的 987654340@s 很常见。而且由于这是一个与 HTML 相关的函数,你会认为它显然会内置这个功能......但没有。
    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 2019-05-08
    • 1970-01-01
    • 2017-05-17
    • 2021-04-03
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    相关资源
    最近更新 更多