2016-02-10 158 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