没有真正的好方法可以做到这一点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 |
+--------------------+-----+----------+
唯一的问题是如果表格变大且名称更长,则对齐first
和last
名称项目。但是,您可以做一些数学运算来确定最大的名称,然后使用字符串格式来左右对齐它。我将把它作为练习留给读者(显然是双重海报)。