4 Stimmen

Was ist der beste Weg, um eine Tabelle mit Trennzeichen in Python zu drucken

Ich möchte eine Tabelle mit gemischten String- und Float-Werten als tabulatorgetrennte Ausgabe ausdrucken. Sicher kann ich die Aufgabe erledigen:

>>> tab = [['a', 1], ['b', 2]]
>>> for row in tab:
...     out = ""
...     for col in row:
...             out = out + str(col) + "\t"
...     print out.rstrip()
... 
a   1
b   2

Aber ich habe das Gefühl, es gibt einen besseren Weg, um es in Python zu tun, zumindest um jede Zeile mit angegebenen Begrenzer, wenn nicht die ganze Tabelle zu drucken. Ein wenig googeln (von aquí ) und sie ist bereits kürzer:

>>> for row in tab:
...     print "\t".join([str(col) for col in row])
... 
a   1
b   2

Gibt es noch eine bessere, oder mehr Python, Weg, es zu tun?

0voto

El hübscher Tisch Bibliothek nützlich sein kann. Sie hilft auch bei der Beibehaltung der Spaltenausrichtung und ermöglicht zusätzliche Stilanpassungen.

Beispiel:

# Ref: https://code.google.com/archive/p/prettytable/

import prettytable

# Read the input csv file
with open("input.csv", "r") as input_file:
    table = prettytable.from_csv(input_file)

# Optionally, change the default style
table.set_style(prettytable.PLAIN_COLUMNS)
table.align = "l"
table.valign = "t"

# Write the output ASCII text file
with open("output.txt", "w") as output_file:
    print("{}".format(table.get_string()), file=output_file)

# Optionally, write the output html file
with open("output.html", "w") as output_file:
    print("{}".format(table.get_html_string()), file=output_file)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X