Tabulate: 优雅的表格可视化工具

1. 引言

Python 中的Tabulate 是一个流行的表格处理软件包,可让大家方便地从各种数据源中创建格式化的表格。它简化了以表格格式来展示数据的过程,尤其适用于在命令行界面、Jupyter Notebook环境中以清晰有序的方式展示数据。

闲话少说,我们直接开始吧!

2. 自己实现表格打印

其实实现表格的格式化输出有多种实现方式,我们首先来自己动手实现一种最原始的格式化输出方法,代码如下:

data = [
    ["Alice", 28, "Engineer"],
    ["Bob", 24, "Designer"],
    ["Charlie", 32, "Writer"]
]
headers = ["Name", "Age", "Occupation"]
​
premier_league = [headers] + data
print(premier_league)
col_widths = [max(len(str(item)) for item in col) for col in zip(*premier_league)]for row in premier_league:
    row_str = ""
    for i, item in enumerate(row):
        row_str += str(item).ljust(col_widths[i] + 2)
    print(row_str)

运行后,结果如下:

Name     Age  Occupation  
Alice    28   Engineer    
Bob      24   Designer    
Charlie  32   Writer

上述代码中,我们使用 List Comprehension 来计算每列的最大宽度。我们使用 zip(*premier_league) 函数访问 premier_league 列表中的每一列,然后找出该列中每个项目的全部长度,最后通过函数ljust来控制每列输出的宽度。

3. 安装

上述代码虽然可以实现表格的格式化输出,但是需要自己写多行代码来自行控制,那么有没有更加简洁的方法呢?此时,推荐大家使用专门用于表格的Tabulate 库。

要在 Python 中安装 Tabulate 库,可以使用 pip 软件包管理器。打开终端或命令行窗口,输入以下命令:

pip install tabulate

安装过程如下:
在这里插入图片描述

4. 基本用法

大家可以使用Tabulate 表格库,在命令行界面中以用户友好的格式来显示数据。利用输入数据列表,我们可以使用tabulate()函数来轻松创建一个表格:

from tabulate import tabulate
data = [
    ["Alice", 28, "Engineer"],
    ["Bob", 24, "Designer"],
    ["Charlie", 32, "Writer"]
]
headers = ["Name", "Age", "Occupation"]
table = tabulate(data, headers=headers, tablefmt="grid")
print(table)

运行结果如下:

在这里插入图片描述

5. 控制对齐方式

此外大家还可以指定表格中元素的对齐方式、列隐藏等各种选项,来自定义表格输出样式。

from tabulate import tabulate
data = [
    ["Alice", 28, "Engineer"],
    ["Bob", 24, "Designer"],
    ["Charlie", 32, "Writer"]
]
headers = ["Name", "Age", "Occupation"]
table = tabulate(data, headers=headers, tablefmt="grid", numalign="center")
print(table)

上述代码,通过参数numalign控制数据元素居中显示,运行代码后结果如下:

在这里插入图片描述

6. 控制表格样式

大家还可以选择不同的表格样式,用以匹配不同的可视化需求。主要通过参数tablefmt实现,代码如下:

from tabulate import tabulate
data = [
    ["Alice", 28, "Engineer"],
    ["Bob", 24, "Designer"],
    ["Charlie", 32, "Writer"]
]
headers = ["Name", "Age", "Occupation"]
table = tabulate(data, headers=headers, tablefmt="fancy_outline", numalign="center")
print(table)

运行后,得到结果如下:
在这里插入图片描述

此外,参数tablefmt的取值还有 plain,simple,pipe,等,大家可以根据自己的喜好来进行选择。

7. 总结

本文探索了如何使用 Python 中的Tabulate 来创建整洁而专业的表格数据展示,表格在数据分析、报告和文档等各种情况下都很有用。借助该库,大家可以创建更具可读性的报告,并更好地展示数据分析的结果。

您学废了嘛?

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵卓不凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值