利用 pandas 实现 excel 大纲式数据展示
许多情况下,我们需要将表格数据以类似 excel 大纲的形式进行展示,以便更清晰地呈现数据层次结构。本文将探讨如何利用 python 中的 pandas 库,将扁平的数据结构转换成具有层次感的 excel 大纲样式。
问题描述如下:给定一张包含“药品类型”、“药品分类(一级)”、“药品分类(二级)”和“药品名称”等列的表格数据(第一张表),如何将其转换成类似 excel 大纲的形式(第二张表),其中每一级分类都清晰地展现出来?
解决方法的核心在于 pandas 的 groupby() 函数。groupby() 函数可以根据指定的列对 dataframe 进行分组,将具有相同分组键的行组合在一起。 通过迭代分组结果,我们可以实现类似 excel 大纲的效果。
具体实现步骤如下:
【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键
首先,假设你的原始数据已经存储在一个名为 df 的 pandas dataframe 中。 然后,利用 groupby() 函数对 dataframe 进行分组,分组键为“药品类型”、“药品分类(一级)”、“药品分类(二级)”和“药品名称”:
a2 = df.groupby(['药品类型','药品分类(一级)','药品分类(二级)','药品名称'])
接下来,迭代分组结果:
for k, y in a2:
print(y)这段代码会依次打印每个分组的数据。每个分组对应 excel 大纲中的一个节点,分组键 k 代表该节点的层次结构信息,y 则包含属于该节点的所有数据行。 通过打印 y,你可以看到每个分组的数据,从而达到类似 excel 大纲的展示效果。 你也可以根据实际需求,对打印结果进行进一步的格式化或保存到文件中。 例如,你可以将每个分组的数据写入到不同的 excel sheet 中,或者使用其他方法来更直观地呈现层次结构。









