0
table = Texttable()
table.set_deco(Texttable.HEADER | Texttable.VLINES | Texttable.HLINES | Texttable.BORDER)
table.add_rows([ ["Name", "Age", "Nickname"],
                     ["Xavier Huon", 32, "Xav'"],
                     ["Baptiste Clement", 1, "Baby"] ])
print table.draw()

结果:

在此处输入图像描述

我怎么能做到这一点?

在此处输入图像描述

4

1 回答 1

2

没有真正的好方法可以做到这一点texttable。例如,它似乎不理解在主标题下可以有额外的分组列表。

相反,您可以通过一些巧妙的格式来完成此操作:

>>> table = Texttable()
>>> table.set_deco(Texttable.HEADER | Texttable.VLINES | Texttable.HLINES | Texttable.BORDER)
>>> 
>>> table.add_rows([ ["Name\nfirst   |   last", "Age", "Nickname"],
...                      ["Xavier   |    Huon", 32, "Xav'"],
...                      ["Baptiste | Clement", 1, "Baby"] ])
>>> print table.draw()
+--------------------+-----+----------+
|        Name        | Age | Nickname |
|  first   |   last  |     |          |
+====================+=====+==========+
| Xavier   |    Huon | 32  | Xav'     |
+--------------------+-----+----------+
| Baptiste | Clement | 1   | Baby     |
+--------------------+-----+----------+

唯一的问题是如果表格变大且名称更长,则对齐firstlast名称项目。但是,您可以做一些数学运算来确定最大的名称,然后使用字符串格式来左右对齐它。我将把它作为练习留给读者(显然是双重海报)。

于 2013-11-21T05:55:25.257 回答