2016-02-10 3 views
6

У меня есть сценарий, который генерирует несколько таблиц, все из которых имеют одинаковые имена столбцов и очень похожие данные. До сих пор я делал каждую таблицу уникальной, печатая заголовок до этого, то есть:Python PrettyTable: Добавить заголовок над заголовком таблицы

print("Results for Method Foo") 
#table 1 
print("Results for Method Bar") 
#table 2 

и так далее. Но это на самом деле не очень ..

Хотя это кажется очевидным прецедентом, я не мог найти где-нибудь вариант, чтобы сделать что-то вроде этого:

PrettyTable with title

Любые идеи о том, как я мог бы достичь это?

Только в случае, если это имеет значение: Я использую Python 3.4 с, с virtualenv и prettytable версии 0.7.2

ответ

2

Это может быть достигнуто с помощью PTable библиотеки, которая изначально раздвоенный от PrettyTable. Я не нашел это в документации, так что может быть полезным для других, что синтаксис является просто следующим образом:

from prettytable import PrettyTable 

table = PrettyTable() 

table.title = 'Results for method Foo' 
table.field_names = ['Experiment', 'Value'] 
table.add_row(['bla', 3.14]) 
table.add_row(['baz', 42.0]) 

print(table) 

Это дает желаемый результат:

+-------------------------+ 
| Results for method Foo | 
+---------------+---------+ 
| Experiment | Value | 
+---------------+---------+ 
|  bla  | 3.14 | 
|  baz  | 42.0 | 
+---------------+---------+ 
+0

Это не работает для меня. Заголовок таблицы не отображается. Протестировано с помощью Python 3.4.3 и следующих зависимостей: таблицы (3.4.2), красивые (0.7.2). – istern

+0

Он работает только с PTable (см. Ссылку выше, я использую версию 0.9.2). Это другой пакет, но общий синтаксис разделяется на симпатичный, поскольку он изначально был разветвлен. – TimD

+0

После добавления зависимости PTable (pip install ptable) он работает. Принимая ваш ответ. – istern

Смежные вопросы