2016-02-10 5 views
6

Ich habe ein Skript, das mehrere Tabellen generiert, die alle die gleichen Spaltennamen und sehr ähnliche Daten haben. Bis jetzt habe ich jede Tabelle einzigartig gemacht, indem ich einen Titel vorher gedruckt habe, d. H .:Python PrettyTable: Titel oberhalb der Kopfzeile der Tabelle hinzufügen

und so weiter. Aber das ist nicht wirklich hübsch ..

Obwohl es wie ein offensichtlicher Anwendungsfall scheint, kann ich nicht überall die Möglichkeit finden, so etwas zu tun:

PrettyTable with title

Irgendwelche Ideen, wie ich erreichen konnte Dies?

Gerade falls es wichtig ist: Ich verwende Python 3.4 mit, mit einem virtualenv und Pretty Version 0.7.2

Antwort

2

dies erreicht werden kann, die PTable-Bibliothek, die ursprünglich von Pretty gegabelt. Ich habe das nicht in der Dokumentation finden, so könnte es für andere nützlich sein, dass die Syntax einfach ist wie folgt:

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) 

Dies ergibt die gewünschte Ausgabe:

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

Das ist für mich nicht funktioniert. Der Tabellentitel wird nicht angezeigt. Getestet mit Python 3.4.3 und folgenden Abhängigkeiten: tables (3.4.2), prettytable (0.7.2). – istern

+0

Es funktioniert nur mit PTable (siehe Link oben, ich benutze Version 0.9.2). Dies ist ein anderes Paket, teilt aber die Basissyntax mit prettytable, da es ursprünglich von ihm abgeleitet wurde. – TimD

+0

Nach dem Hinzufügen der PTable-Abhängigkeit (pip install ptable) funktioniert es. Akzeptieren Sie Ihre Antwort. – istern

Verwandte Themen