在Python中使用prettytable库创建多层级的嵌套表格
发布时间:2024-01-01 12:02:09
在Python中,可以使用prettytable库来创建多层级的嵌套表格。prettytable是一个用于美化表格输出的模块,可以生成漂亮的ASCII表格。
下面是一个创建多层级嵌套表格的例子:
from prettytable import PrettyTable # 创建一个包含多层级表格的表 table = PrettyTable() # 定义多层级表格的列 table.field_names = ['Name', 'Age', 'Address'] # 添加多层级的数据行 table.add_row(['John', 25, ['Street 1', 'City 1', 'Country 1']]) table.add_row(['Mike', 30, ['Street 2', 'City 2', 'Country 2']]) table.add_row(['Kate', 35, ['Street 3', 'City 3', 'Country 3']]) # 设置列的对齐方式 table.align['Name'] = 'l' table.align['Age'] = 'r' table.align['Address'] = 'l' # 创建第二层级的表 nested_table = PrettyTable() nested_table.field_names = ['Street', 'City', 'Country'] # 添加第二层级的数据行 nested_table.add_row(['Street 1', 'City 1', 'Country 1']) nested_table.add_row(['Street 2', 'City 2', 'Country 2']) nested_table.add_row(['Street 3', 'City 3', 'Country 3']) # 将第二层级的表作为 层级表格中的一个单元格添加进去 table.add_row(['John', 25, nested_table]) # 输出表格 print(table)
运行上述代码,将会输出如下格式的多层级嵌套表格:
+------+-----+---------------------------------------+ | Name | Age | Address | +------+-----+---------------------------------------+ | John | 25 | +----------+-------+----------+ | | | | Street | City | Country | | | | +----------+-------+----------+ | | | | Street 1 | City 1| Country 1| | | | | Street 2 | City 2| Country 2| | | | | Street 3 | City 3| Country 3| | | | +----------+-------+----------+ | Mike | 30 | ['Street 2', 'City 2', 'Country 2'] | | Kate | 35 | ['Street 3', 'City 3', 'Country 3'] | +------+-----+---------------------------------------+
如上所示,我们创建了一个包含多层级表格的表,其中 层级的表包含Name、Age和Address列。Address列中的每个单元格是一个嵌套表格,该嵌套表格包含Street、City和Country列。最后,我们将第二层级的表作为 层级表格中的一个单元格添加到主表格中。
这样,我们就成功创建了一个多层级嵌套表格。可以根据具体需求,修改列的对齐方式、添加更多的数据行等等。
