是否可以在prettytable中获得不同的列长度?当我尝试在PrettyTable中使用列表时,出现错误:列长度不匹配。因为一个列表中包含的项目比另一个列表中的项目多。
例:
ListA = ("111", "222")
ListB = ("333")
PrettyTable:
t = Prettytable([])
t.add_column('Test1', ListA)
t.add_column('Test2', ListB)
print(t)
最佳答案
使用zip_longest
和填充值解决问题,再次包裹在zip
中以添加标题:
import itertools
titles = ('Test1','Test2')
ListA = ("111", "222")
ListB = ("333",)
t = Prettytable([])
for title,lst in zip(titles,itertools.zip_longest(ListA,ListB,fillvalue="")):
t.add_column(title,lst)
这将生成一个长度最长的列表序列,并用空字符串填充较短的列表(此外,您可以使用循环而不是多次
add_column
调用)