
Python是一种非常流行的编程语言,拥有丰富的生态系统和强大的功能库。其中一个非常实用的功能库是tabulate模块,它可以帮助开发者将数据以表格的形式输出,非常方便。本文将介绍tabulate模块的使用方法,并提供几个实用的案例。
一 介绍
tabulate模块是一个轻量级的Python库,可以将数据以表格的形式进行排列和输出。它可以支持多种数据类型的输入,例如列表、字典、元组、集合等。tabulate模块还支持对表格样式的自定义,包括表格的对齐方式、边框样式、列名称等。
具体用法 tabulate模块的主要函数是tabulate(),它接受两个必需参数:数据和表格头部。下面是一个基本的示例:
from tabulate import tabulate
data = [
["Alice",25, "Female"],
["Bob",30, "Male"],
["Charlie",35, "Male"]
]
headers = ["Name", "Age", "Gender"]
print(tabulate(data, headers))
这将输出以下结果:
Name Age Gender
-------- --- --------
Alice 25 Female
Bob 30 Male
Charlie 35 Male
可以看到,输出的表格是自动格式化的,不需要手动调整列宽或对齐方式。接下来介绍一些常用的参数:
headers:表格的首行,可以是列表或元组类型;
tablefmt:表格样式,支持多种格式,例如“plain”、“grid”、“pipe”、“latex”等;showindex:是否显示行号,默认为False;
numalign/stralign:数字和字符串的对齐方式;
floatfmt:浮点数的格式化方式。
除了基本参数外,tabulate模块还支持其他更高级的选项,例如格式化字符串、自定义列宽、排序等。具体请参阅官方文档。
二 案例
下面是几个实用的案例,展示了tabulate模块的应用场景:
2.1 显示文件信息
import os
from tabulate import tabulate
path = "./"
data = []
for filename in os.listdir(path):
size = os.path.getsize(filename)
time = os.path.getctime(filename)
data.append([filename, size, time])
headers = ["Filename", "Size", "Created Time"]
print(tabulate(data, headers))
这将以表格的形式输出当前目录下所有文件的名称、大小和创建时间。
2.2 显示进程信息
import psutil
from tabulate import tabulate
data = []
for process in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_info']):
data.append([process.info['pid'], process.info['name'], process.info['cpu_percent'], process.info['memory_info'].rss])
headers = ["PID", "Name", "CPU Percent", "Memory Usage"]
print(tabulate(data, headers))
这将以表格的形式输出当前系统中所有进程的PID、名称、CPU占用率和内存使用情况。
2.3 显示股票数据
import yfinance as yf
from tabulate import tabulate
msft = yf.Ticker("MSFT")
data = msft.history(period="1d")
headers = ["Date", "Open", "High", "Low", "Close", "Volume"]
print(tabulate(data.reset_index()[headers], headers))
这将以表格的形式输出微软股票的当日历史数据。
三 总结
tabulate 模块是一个非常实用的Python库,可以帮助开发者轻松地将数据以表格的形式输出。它具有丰富的功能和易用的接口,能够满足各种应用场景。无论是数据分析、系统监控还是报表生成,tabulate 模块都是一个值得推荐的工具。
如果你看到这里,其实这篇文章是AI 自动生成的,我仅仅是做了润色和改版,文章内容写的还是符合我的需求的, 介绍模块的使用和提供具体的案例。




