2016-11-02 5 views
1

可愛らしい列の列の長さを変えることは可能ですか? PrettyTableでリストを使用しようとすると、列の長さが一致しないというエラーが表示されます。 1つのリストにそれ以上のアイテムがあると、もう1つのリストがあるためです。異なる列の長さPrettyTable

例:

ListA = ("111", "222") 
ListB = ("333") 

PrettyTable:

t = Prettytable([]) 
t.add_column('Test1', ListA) 
t.add_column('Test2', ListB) 
print(t) 
+0

なぜ列を同じ長さにしないのですか? –

+0

リストの長さが同じでないため、リストには10​​個のアイテムと5個のアイテムがあります。 –

+0

以下の回答からのアプローチを使用してください。 –

答えて

0

回避策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) 

生成されます。空のsで埋め込まれた長さが最も長いリストのシーケンス短いリストのために鳴ります(そして、あなたはループを使用し、複数のadd_columnコールはしません)

+0

私はそれを試してみると、次のエラーが表示されます。例外:列の長さ0が行の数1と一致しません! –

+0

申し訳ありませんが、それは間違っていました。私の編集を参照してください。 –

+0

はい、動作しています。ご協力ありがとうございました。 –

関連する問題