📜  如何使用 python 打印表格(1)

📅  最后修改于: 2023-12-03 15:23:57.302000             🧑  作者: Mango

如何使用 Python 打印表格

在 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 库

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     |

以上是两种较为常用的打印表格的方法,开发者可以根据自己的需求选择合适的方法。