由于PrettyTable在输出的时候如果列或者行的长度不对齐的话,会输出报错信息,导致无法输出,所以才有感而发封装了函数来解决这个问题,代码如下所示:
def format_ptable(title, column_names, column_list):
"""
格式化表格输出
title: 表格的标题
column_names: 每一列的标题名 ['#','t1','t2',...]
column_list: 每一列的值 [[values,values,...],[values,values,...]]
"""
ptable = PrettyTable()
ptable.title = f'\033[1;36m{title}\033[0m'
maxs = [len(col) for col in column_list];maxs.sort() # 从小到大排序
ptable.add_column(column_names[0], [i for i in range(1, maxs[-1] + 1)])
j = 0
for column in column_list:
if len(column) < maxs[-1]:
for i in range(maxs[-1] - len(column)):
column.append('')
col = [f'\033[1;34m{i}\033[0m' for i in column]
ptable.add_column(column_names[j], col)
j = j + 1
print(ptable)
调用:format_ptable(title, column_names, column_list=[col_1, col_2])
输出结果: