Python中使用tabulate库优雅生成格式化表格
本文详解Python中利用tabulate库将无序数据转换为易读表格的方法。通过List和Dict两种数据结构示例,演示了headers、tablefmt(如grid和fancy_grid)及showindex参数的使用,并涵盖缺失值默认值处理,帮助开发者快速实现数据输出的美化与规范化。
1. 引言
将杂乱的数据整理为清晰易读的格式,对数据分析工作至关重要。Python中的tabulate库能够轻松将多种表格数据类型转换为排版精美的纯文本表格。
接下来,我们直接进入实操环节。 :)
2. 准备工作
安装tabulate库 安装过程十分简便,只需通过pip命令即可完成,具体代码如下:
pip install tabulate
导入tabulate函数 随后,我们需要导入所需的tabulate函数,操作如下:
from tabulate import tabulate
准备工作就绪后,下面通过具体案例进行演示。
3. 举个栗子
3.1 使用list生成表格
假设我们拥有如下数据:
table = [['First Name', 'Last Name', 'Age'], ['John', 'Smith', 39], ['Mary', 'Jane', 25], ['Jennifer', 'Doe', 28]]
利用tabulate函数,可以将上述数据整理为更易读的表格形式,代码示例如下:
print(tabulate(table))
运行结果如下:

鉴于上述list中的首个列表包含了各列的名称,我们可以通过特定参数将列名单独提取显示,代码如下:
print(tabulate(table, headers='firstrow'))
结果如下:

tabulate函数还提供tablefmt参数,用于进一步优化表格的外观样式,代码如下:
print(tabulate(table, headers='firstrow', tablefmt='grid'))
结果如下:

相较于grid格式,我更推荐在tablefmt参数中使用fancy_grid,其显示效果如下:
print(tabulate(table, headers='firstrow', tablefmt='fancy_grid'))
结果如下:

3.2 使用dict生成表格
在Python中,我们也可以借助字典来构建相应的表格。代码如下:
info = {'First Name': ['John', 'Mary', 'Jennifer'],
'Last Name': ['Smith', 'Jane', 'Doe'],
'Age': [39, 25, 28]}
在字典场景下,键通常代表列标题,而值则是各列的具体元素。我们通常通过传递“keys”作为headers参数的值,来明确指定键为表格标题:
print(tabulate(info, headers='keys'))
输出结果如下:

此时,同样可以使用tablefmt参数来优化表格外观,代码如下:
print(tabulate(info, headers='keys', tablefmt='fancy_grid'))
输出结果如下:

3.3 增加索引列
此外,我们还可以利用showindex参数向表格中添加索引列,代码如下:

3.4 缺失值处理
若从字典中移除’Jennifer’,表格中将出现空白单元格,代码如下:
print(tabulate({'First Name': ['John', 'Mary'],
'Last Name': ['Smith', 'Jane', 'Doe'],
'Age': [39, 25, 28]}, headers="keys",
tablefmt='fancy_grid'))
输出结果如下:

若认为空白单元格显示不够美观,可以设置默认值进行填充,代码如下:
print(tabulate({'First Name': ['John', 'Mary'],
'Last Name': ['Smith', 'Jane', 'Doe'],
'Age': [39, 25, 28]}, headers="keys",
tablefmt='fancy_grid'))
4. 总结
本文介绍了在Python中使用tabulate库创建表格的方法,并通过不断优化输出形式来美化效果,同时提供了相应的代码示例。
关于在Python中如何优雅地创建表格的实现就介绍到这里,更多相关Python创建表格内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









