我有不同长度的字符串,我想在模板中打印如下:
printTemplate = "{0:<5}|{1:<55}|{2:<20}"
print printTemplate.format("ID", "Text", "Category")
for (docId, text, category) in textList:
print printTemplate.format(docId, text, category)
哪个出来了,
ID |Text |Category
1500 |Monet is the French painter I have liked the best |Painting
...
问题是文本字符串有时超过55个字符,这会破坏格式。我尝试过使用TextWrapper,
from textwrap import TextWrapper
wrapper = TextWrapper(width=55)
...
print printTemplate.format(docId, wrapper.fill(text), category)
但这似乎没有帮助。一个想法?谢谢!
答案 0 :(得分:0)
您可以使用PrettyTable自动将输出格式化为列。
from prettytable import PrettyTable
x = PrettyTable(["ID", "Text", "Category"])
for (docId, text, category) in textList:
x.add_row([docId, text, category])
print x
答案 1 :(得分:0)