Einfachste Weg ein, um eine Liste in eine HTML-Tabelle in python?
können sagen, ich habe eine Liste, etwa so:
['one','two','three','four','five','six','seven','eight','nine']
und ich will Experimentieren Sie mit drehen diese Daten in eine HTML-Tabelle der verschiedenen Dimensionen:
one two three
four five six
seven eight nine
oder
one four seven
two five eight
three six nine
oder
one two three four
five six seven eight
nine
Gibt es eine Bibliothek, die kann damit umgehen, ohne zu tun, verrückte Liste Spleißen oder verschachtelte for-Schleifen? Meine google-Recherchen zeigen, dass es ein paar HTML-Bibliotheken, aber ich habe nicht die Zeit, um durch jeden zu sehen, ob Sie behandeln können Tabellen sehr gut. Hat schon mal jemand hatte, dies zu tun? Wenn ja, wie hast du das gemacht?
InformationsquelleAutor priestc | 2009-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würde ich zerlege dein problem in zwei Teile:
Ich denke, die beiden Aufgaben sind wirklich sehr Verschieden und es gibt nichts zu gewinnen (und zu verlieren), mushing, so wäre ich erstaunt, wenn jeder gut gestaltete Bibliothek hat eine solche mushing.
Für Punkt 1, row-major ist einfach:
- und column-major nicht so schlecht:
zum Beispiel...:
produziert Ihre drei gewünschten Ergebnisse (eine Liste pro Zeile, nicht in HTML-form noch;-).
Der zweiten Hälfte der problem-erzeugt eine HTML-Tabelle aus einer Liste von Listen von Zeichenketten:
Wenn Sie wollen, um es als eine einzige Zeichenfolge, sondern drucken Sie es aus, ändern Sie die einzelnen
print
inyield
und verwenden'\n'.join(html_table(lol))
.Nun haben Sie zwei einfache, nützliche, nutzbare und wiederverwendbare Bausteine, -- müssen Sie diese getrennt in handliches kommen, Wann immer Sie wollen, um Ihre Daten alles andere als eine HTML-Tabelle, und auch wenn die Liste-von-Listen zu präsentieren, als eine HTML-Tabelle kommt aus irgendeiner anderen Weise zu bauen. Diese Zusammenstellung ist einfach in Ihrer Anwendung code, aber es ist natürlich auch einfach eine simple "kleben routine", z.B., vorausgesetzt, die
yield
-basierten version vonhtml_table
und, dass eine einzelne Zeichenfolge Ergebnis gewünscht ist:Ist dieses nicht mit dem Bausteine-Ansatz wirklich schöner und angenehmer als auch produktiver, als die Programmierung in Bezug auf groß-blobs von mushed-up Kleber...?-)
InformationsquelleAutor Alex Martelli
Nur für die Zukunft, implementiert habe ich ein kleines Python-Modul namens simpletable, um eine einfache HTML-Tabelle. generation. Es auch, dass sich mit dem beschriebenen Problem in dieser Frage.
Die Nutzung ist so einfach wie folgt:
Da es nicht erforderlich, Drittanbieter-Pakete, können Sie einfach den code aus mein repository und verwenden Sie es in Ihre Projekte.
InformationsquelleAutor Matheus Portela
Gut, es gibt mehrere Template-Bibliotheken (Genshi ist eine, die ich mag, aber es gibt viele andere).
Alternativ könnte man etwas machen wie:
Sehen Sie eine Schleife innerhalb einer Schleife? Ich weiß es nicht.
Nur eine einzige Schleife.
InformationsquelleAutor Benno
Vielleicht manipulieren Vorlage ist einfacher für Spielzeug-codes, =p
InformationsquelleAutor okm
Obwohl dies wurde beantwortet vor, hier eine weitere Lösung ist durch die Verwendung numpy und pandas DataFrame. Da eine Menge Leute sind daran interessiert, Daten-Wissenschaft heute, dachte ich, die Lösung dieses mit pandas Spaß machen würde:
Den benutzerdefinierte Funktion (
generate_html_with_table()
), dass ich hier in diesem Jupyter Notebook.code_output_with_spanning_along_a_row
InformationsquelleAutor CypherX