Там не очень хороший способ сделать это с 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
элементы имен должны таблица расти больше с более длинным названием. Однако вы можете определить математику, чтобы определить наибольшее имя, а затем использовать форматирование строк влево и вправо. Я оставлю это как упражнение для читателя (и apparently double poster).
Ваш результат не пуст, поделитесь информацией о получившемся в ожидании –
что ты говоришь? –
Я изменю таблицу 1 на таблицу 2, как изменить таблицу? –