【发布时间】: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