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

2024-04-29 02:28

本文主要是介绍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 来创建整洁而专业的表格数据展示,表格在数据分析、报告和文档等各种情况下都很有用。借助该库,大家可以创建更具可读性的报告,并更好地展示数据分析的结果。

您学废了嘛?

这篇关于Tabulate: 优雅的表格可视化工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944891

相关文章

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优