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

使用TerminalTables在Python中创建漂亮的终端表格

发布时间:2023-12-27 09:26:56

在Python中,我们可以使用TerminalTables库来创建漂亮的终端表格。TerminalTables是一个简单易用的库,可以用于生成不同样式的表格,支持单元格合并、单元格对齐和自定义表格样式等功能。

首先,我们需要安装TerminalTables库。在命令行中输入以下命令:

pip install terminaltables

安装完毕后,我们就可以开始使用TerminalTables来创建漂亮的终端表格了。下面是一个简单的例子:

from terminaltables import AsciiTable

# 创建一个表格对象
table_data = [
    ['Name', 'Age', 'Country'],
    ['John', '25', 'USA'],
    ['David', '30', 'UK'],
    ['Lisa', '20', 'Australia']
]
table = AsciiTable(table_data)

# 设置表格样式
table.inner_row_border = True

# 打印表格
print(table.table)

在上面的例子中,我们创建了一个三列的表格,表格标题为Name、Age和Country。然后,我们添加了一些数据行。调用AsciiTable函数可以创建一个Ascii风格的表格对象。我们还设置了inner_row_border属性为True,这样可以在每行数据之间添加边框。

最后,我们通过调用table.table来打印表格。

运行以上代码,可以得到如下输出:

+-------+----+-----------+
| Name  | Age |  Country  |
+-------+----+-----------+
|  John | 25  |    USA    |
+-------+----+-----------+
| David | 30  |    UK     |
+-------+----+-----------+
|  Lisa | 20  | Australia |
+-------+----+-----------+

如上所示,我们成功地创建了一个漂亮的终端表格。

除了Ascii风格的表格,TerminalTables还支持其他不同的表格样式,如Github、Grid、Double等,可以根据需要选择合适的样式。

除了基本的表格功能外,TerminalTables还支持单元格合并、单元格对齐、自定义表格样式等高级功能。以下是一个使用这些高级功能的示例:

from terminaltables import SingleTable

# 创建一个表格对象
table_data = [
    ['Name', 'Age', 'Country'],
    ['John', '25', 'USA'],
    ['David', '30', 'UK'],
    ['Lisa', '20', 'Australia']
]
table = SingleTable(table_data)

# 设置表格样式
table.inner_row_border = True

# 设置单元格对齐方式
table.justify_columns[0] = 'center'
table.justify_columns[1] = 'right'
table.justify_columns[2] = 'left'

# 合并单元格
table.table_data[0][1] = 'Name and Age'

# 自定义表格样式
table.outer_border = False
table.inner_column_border = False

# 打印表格
print(table.table)

运行以上代码,可以得到如下输出:

    Name and Age     Age       Country
   -------------- ------ ---------------
    John            25       USA
   -------------- ------ ---------------
    David           30       UK
   -------------- ------ ---------------
    Lisa            20       Australia
   -------------- ------ ---------------

如上所示,我们首先创建了一个SingleTable对象,然后设置了单元格对齐方式,并合并了 行的两个单元格。接着,我们通过修改表格对象的属性来自定义表格样式,如去掉外边框和内列边框。

通过使用TerminalTables库,我们可以轻松地创建漂亮的终端表格,并且可以根据需要自定义表格样式。无论是在命令行界面显示数据,还是在终端应用程序中展示结果,TerminalTables都是一个非常有用的工具。