📅  最后修改于: 2023-12-03 15:23:57.302000             🧑  作者: Mango
在 Python 中,我们可以使用多种方法打印表格,包括使用字符串拼接、使用第三方插件等。本篇文章将介绍两种较为常用的方法。
使用字符串拼接的方法比较简单,只需通过拼接符号将表格中的数据连接起来即可。以下是一个简单的示例代码:
def print_table(data):
# 计算每列的最大宽度
column_widths = [max(len(str(row[i])) for row in data) for i in range(len(data[0]))]
# 打印表头
print('|'.join(word.ljust(column_widths[i]) for i, word in enumerate(data[0])))
print('-|-'.join('-' * column_widths[i] for i in range(len(column_widths))))
# 打印每行数据
for row in data[1:]:
print('|'.join(str(word).ljust(column_widths[i]) for i, word in enumerate(row)))
以上代码中,我们使用了一个 print_table
函数来打印表格。该函数会计算出每个单元格的最大宽度,并将所有单元格按最大宽度进行对齐。函数的参数 data
是一个二维数组,第一行为表头,后面每一行为表格数据。
以下是一个使用该函数打印表格的示例代码:
data = [
['Name', 'Age', 'Gender'],
['John', '25', 'Male'],
['Lisa', '24', 'Female'],
['Bob', '27', 'Male']
]
print_table(data)
该示例代码会打印出以下表格:
Name | Age | Gender
---- | --- | ------
John | 25 | Male
Lisa | 24 | Female
Bob | 27 | Male
Tabulate 是 Python 的一个第三方库,可以方便地将数据格式化为表格。安装 Tabulate 只需使用以下命令:
pip install tabulate
以下是一个使用 Tabulate 打印表格的示例代码:
from tabulate import tabulate
data = [
['Name', 'Age', 'Gender'],
['John', '25', 'Male'],
['Lisa', '24', 'Female'],
['Bob', '27', 'Male']
]
print(tabulate(data, headers='firstrow', tablefmt='pipe'))
以上示例代码中,我们首先导入了 tabulate
函数,然后定义了一个二维数组 data
,其中第一行为表头,后面每一行为表格数据。最后,我们使用 tabulate
函数来将表格格式化输出。headers='firstrow'
表示使用第一行作为表头,tablefmt='pipe'
表示使用竖线作为表格边框。
该示例代码会打印出以下表格:
| Name | Age | Gender |
|--------|-------|----------|
| John | 25 | Male |
| Lisa | 24 | Female |
| Bob | 27 | Male |
以上是两种较为常用的打印表格的方法,开发者可以根据自己的需求选择合适的方法。