Python表格打印代码实例解析
在Python中,我们经常需要对数据进行整理并按照一定的格式输出,将数据以表格的形式展示是一种常见的方式。本文将介绍如何用Python实现表格打印,并提供两个示例。
使用Python内置模块 tabulate
tabulate
是 Python 内置模块中的一个用于将二维列表、元组或字典以表格形式打印输出的工具,使用 tabulate
可以快速方便地完成表格打印任务。
安装 tabulate
pip install tabulate
二维列表形式打印
from tabulate import tabulate
data = [
["Apple", 20],
["Banana", 30],
["Pear", 15]
]
print(tabulate(data, headers=["Fruit", "Price"]))
上述代码中,data
是一个二维列表,包含了三行两列的数据。我们使用 tabulate
函数将其打印为一个表格。
函数的第一个参数是需要打印的数据,第二个参数 headers
是一个列表,表示表头中每一列的名称。
执行结果:
Fruit Price
------- -------
Apple 20
Banana 30
Pear 15
字典形式打印
from tabulate import tabulate
data = [
{"Fruit": "Apple", "Price": 20},
{"Fruit": "Banana", "Price": 30},
{"Fruit": "Pear", "Price": 15}
]
print(tabulate(data, headers="keys"))
上述代码中,data
是一个包含三个字典的列表,每个字典包含了两个键值对,表示一行数据。我们使用 tabulate
函数将其打印为一个表格。
函数的第一个参数是需要打印的数据,第二个参数 headers
为字符串 "keys"
,表示使用字典的键作为表头名称。
执行结果:
Fruit Price
------- -------
Apple 20
Banana 30
Pear 15
使用Python实现简单的表格打印
除了使用内置模块 tabulate
在Python中实现表格打印之外,我们也可以手动编写代码来实现这个功能。下面是一个简单的示例程序:
def print_table(data, headers):
col_widths = [max(len(str(item)) for item in col) for col in zip(*data)]
headers = [str(header).center(col_widths[i]) for i, header in enumerate(headers)]
format_string = ' '.join(['{:<{}}'] * len(headers))
print(format_string.format(*headers))
for row in data:
row = [str(item).center(col_widths[i]) for i, item in enumerate(row)]
print(format_string.format(*row))
使用 print_table
函数可以打印由二维列表组成的表格,如下所示:
data = [
["Apple", "Banana", "Pear"],
["20", "30", "15"],
["Red", "Yellow", "Green"]
]
headers = ["Fruit", "Price", "Color"]
print_table(data, headers)
执行结果:
Fruit Price Color
------ ------ ------
Apple 20 Red
Banana 30 Yellow
Pear 15 Green
上述示例程序的实现方式主要涉及到字符串的格式化和对齐等操作,可以根据实际需求进行修改。
总结
在Python中,我们可以使用内置模块 tabulate
来实现表格打印,也可以手动编写代码进行实现。无论采用哪种方式,表格打印都是处理和展示数据的一个重要工具。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 表格打印代码实例解析 - Python技术站