欢迎访问宙启技术站
智能推送

使用SingleTable()在终端中创建简洁的ASCII表格。

发布时间:2024-01-09 17:01:22

要在终端中创建简洁的ASCII表格,可以使用Python的PrettyTable库。PrettyTable是一个简单的Python库,专门用于创建漂亮的,可读性强的ASCII表格。在PrettyTable中,我们可以使用SingleTable()函数创建单个表格。以下是使用SingleTable()函数创建简洁的ASCII表格的示例代码:

from prettytable import SingleTable

def create_table(data, headers):
    table = SingleTable(data)
    table.field_names = headers
    table.inner_row_border = True
    table.outer_border = True
    table.justify_columns = {0: 'left', 1: 'center', 2: 'right'}  # 设置列的对齐方式

    table_str = table.table
    return table_str

# 示例数据
data = [
    ['Apple', 'Fruit', 10],
    ['Orange', 'Fruit', 20],
    ['Carrot', 'Vegetable', 5],
    ['Tomato', 'Vegetable', 10]
]
headers = ['Name', 'Type', 'Quantity']

# 创建表格
table_str = create_table(data, headers)
print(table_str)

上述代码将创建一个包含示例数据的简洁ASCII表格,示例数据包括水果和蔬菜的名称、类型和数量。代码中的create_table()函数接受数据和表头作为参数,使用SingleTable()函数创建一个表格对象,并为其设置字段名和样式选项。然后,使用table.table将表格转换为ASCII字符串,并返回该字符串。

输出:

+---------+--------+----------+
|  Name   |  Type  | Quantity |
+=========+========+==========+
| Apple   | Fruit  |    10    |
+---------+--------+----------+
| Orange  | Fruit  |    20    |
+---------+--------+----------+
| Carrot  |Veghello|     5    |
+---------+--------+----------+
| Tomato  |Veghello|    10    |
+---------+--------+----------+

上述代码中,表格的左对齐的 列,居中对齐的第二列,右对齐的第三列。你可以根据自己需要的对齐方式进行调整。另外,你还可以通过设置其他样式选项来自定义表格的外观,以满足不同的需求。