Ziemlich drucken einer Liste in einem tabellarischen format
Mit Python 2.4, wie Drucke ich eine Liste in einer schönen tabellarischen format?
Meine Liste ist in der unten format.
mylist=[(('VAL1', 'VAL2', 'VAL3', 'VAL4', 'VAL5', 'VAL6'), AGGREGATE_VALUE)]
Habe ich versucht pprint
, aber nicht drucken Sie das Ergebnis in einer tabellarischen format.
EDIT : würde ich mag, um die Ausgabe zu sehen, in dem unter format:
VAL1 VAL2 VAL3 VAL4 VAL5 VAL6 AGGREGATE_VALUE
Dieser Tabelle, sollte Konto für variable Position Längen und immer noch drucken, mit der richtigen Einrückung.
Dies ist ein wenig unklar. Könnten Sie bitte fügen Sie eine Zeile der Ausgabe?
Wollen Sie, um zu sehen, eine Tabelle in die Konsole? oder wollen Sie die Ausgabe an ein anderes Ziel, sagen-html?
Sample-Daten und expectout Ausgang wäre eine große Hilfe für diejenigen, die helfen wollen!
Schau vielleicht mal bei stackoverflow.com/questions/1396820/...
Wollen Sie, um zu sehen, eine Tabelle in die Konsole? oder wollen Sie die Ausgabe an ein anderes Ziel, sagen-html?
Sample-Daten und expectout Ausgang wäre eine große Hilfe für diejenigen, die helfen wollen!
Schau vielleicht mal bei stackoverflow.com/questions/1396820/...
InformationsquelleAutor GPX | 2011-06-01
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ergebnis
Weiß nicht, ob dies füllt Ihren Bedarf
BEARBEITEN 1
Hilfe von string-Formatierung mit dem modulo-operator (%) zum drucken in eine Konstante Länge, '%6s' rechten -, rechtfertigt sich in einer Konstanten Länge von 6, und '%-6s' Links-rechtfertigt in einer Konstanten Länge von 6.
Finden Sie Genauigkeiten hier
Aber ist es nicht sinnvoll, festzulegen, die eine Konstante Länge, etwas zu drucken, die am Ende einer Zeichenfolge, weil es etwas natürlich-Links-in diesem Fall gerechtfertigt.
Dann :
EDIT 2
EDIT 3
Ergebnis
Beachten Sie, dass diese Art der Formatierung wäre viel einfacher, mit der string-Methode format() eingeführt, die in Python 2.6
Ich habe gerade versucht Edit 1 und druckt es aus der gleichen Rechtsbündig ausgegeben! Auch, wie Drucke ich eine Kopfzeile?
Edit 2 gibt das gleiche Ergebnis 🙁 Aber beide Bearbeiten 1 & 2 gab ein Links ausgerichteter letzten Spalte.
Ich habe nicht verstanden, deine Frage: ich dachte, dass das sprechen über 'alle Texte', Sie waren das sprechen der Texte 'AGGREGATE_VALUE1' etc. Ich verstehe immer noch nicht was du meinst mit "Links-richten Sie den gesamten text'. Meinst du, dass Sie wollen, um zu rechtfertigen, jeder Wert einer Spalte Links von der Spalte ? Wenn dem so ist, müssen Sie ersetzen Sie "%%%ss' mit '%%-%ss' . Übrigens, Edit 2 war nicht die Antwort auf Ihren Kommentar, es ist eine Verbesserung
Ah ja!
%%-%ss
hat den trick. Ja, ich habe meine Rechtfertigung jeder Spalte Wert auf der linken Seite.InformationsquelleAutor eyquem
Versuchen die texttable-Modul.
Docs: http://foutaise.org/code/texttable/
PyPi: https://pypi.python.org/pypi?name=texttable&:action=display
InformationsquelleAutor philfreo
Vielleicht so etwas wie dieses:
'\t'.join()
ist eine bessere Sache zu verwenden, als die manuelle string-Gebäude.InformationsquelleAutor gennad
Aus Ihrem Beispiel-Ausgabe sieht es aus wie durch die "tabellarische" Sie bedeuten könnte Registerkarten.
Wenn das stimmt, scheint dieses Werk:
Welche Ausgänge:
VAL1 VAL2 VAL3 VAL4 VAL5 VAL6 AGGREGATE_VALUE
InformationsquelleAutor martineau
Für beliebige Anzahl von Elementen und eine beliebige Anzahl der Zeilen, die Sie verwenden können:
Beispielsweise für die Eingabe
ergibt:
InformationsquelleAutor Hyperboreus