【问题标题】:How to output html table with merged cells from pandas DataFrame如何从 pandas DataFrame 输出包含合并单元格的 html 表
【发布时间】:2019-12-04 16:10:36
【问题描述】:

我有一个 pandas.DataFrame df 作为:

>>> df = pd.DataFrame([[1,2,2,2,3], [1,2,3,3,3],[1,3,2,3,5],[7,9,9,3,2]], columns=list("ABCDE"))

我想在html中实现这种类型的表格(控制我可以合并哪些单元格)

我知道可以通过操作 df.to_html() 函数获得的表并使用 jquery 扩展行跨度来实现,但是 我在询问 pythonic 方式来做到这一点,即有没有一种可能的方法可以直接从某种数据透视表/数据框中获取合并表。

我考虑过临时将要合并的列设置为多索引数据框中的索引,但是这种方法至少可以说是粗略的。

如果我可以完全控制可以合并哪些单元格,例如,基于同一行中其他单元格的值,那将是完美的。

【问题讨论】:

  • 我想不出任何明显的方法来做到这一点。如果您运行df.set_index(list('ABCDE')).to_html('test.html'),您将看到索引单元格确实存在合并(但仅在左侧所有内容也匹配的情况下)。我提到这一点不是因为它解决了你的问题,但也许如果你想看看to_htmlsource code,你可以找到负责在索引输出中合并类似单元格的代码,你可以调整它可以满足您的需求。

标签: python html pandas dataframe


【解决方案1】:

更新:我设法找到了similar question,并提供了广泛的答案(请参阅 jpp 的答案),但不幸的是,否定了简单解决我的问题的可能性。正如silkworm 建议的那样,目前唯一的可能性是深入研究to_html 源,或者干预对数据帧进行多索引。

【讨论】:

    猜你喜欢
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多