araç köşesi

CSV in Markdown-Tabelle

Tabellendaten in eine Markdown-Tabelle für README und Wiki umwandeln

Ihre Daten bleiben bei Ihnen. Die Umwandlung läuft im Browser; nichts wird an einen Server gesendet.

So funktioniert es

Die erste Zeile wird zur Kopfzeile, direkt darunter entsteht die Ausrichtungszeile, alle weiteren Zeilen werden zu Daten. Steht das Trennzeichen auf automatisch, werden Semikolon, Komma, Tabulator und senkrechter Strich außerhalb von Anführungszeichen gezählt, und es gewinnt der Kandidat, der in jeder Zeile gleich viele Spalten ergibt; diese Prüfung auf Gleichmäßigkeit ist der Grund, warum ein Komma in einer Adresse nicht als Spaltentrenner endet. Auch alle drei Zeilenenden werden gelesen: CR+LF von Windows, LF von macOS und Linux und das einzelne CR sehr alter Programme, das viele Werkzeuge für eine einzige lange Zeile halten. Pipe-Zeichen in den Zellen werden mit einem Backslash maskiert, denn ein unmaskiertes Pipe würde die Zelle vorzeitig beenden und den Rest der Zeile eine Spalte nach links schieben. Ein Zeilenumbruch innerhalb eines Feldes in Anführungszeichen wird zu einem <br>-Element, weil eine Zelle in einer Markdown-Tabelle auf eine Zeile passen muss. Zum Schluss werden alle Zellen mit Leerzeichen auf die Breite ihrer Spalte gebracht, damit die Tabelle auch in der Rohdatei lesbar bleibt — das zählt, sobald die .md-Datei als Änderungsvergleich geprüft wird. Das Ergebnis erscheint beim Tippen und lässt sich kopieren oder als .md-Datei herunterladen.

Dieses Werkzeug ist auch als csv in markdown umwandeln, markdown tabelle erstellen, csv zu markdown, markdown tabelle generator, readme tabelle erzeugen bekannt.

Was ist Markdown?

Markdown ist eine schlanke Art, formatierten Text mit Satzzeichen statt mit Elementen zu schreiben: Ein Doppelkreuz am Zeilenanfang macht eine Überschrift, Sternchen um ein Wort machen es fett, ein Bindestrich am Anfang macht einen Listenpunkt. Die Quelldatei bleibt lesbar, bevor sie überhaupt dargestellt wird, und genau deshalb ist Markdown zum Standard für Projektdokumentation, statische Seiten und Notiz-Apps geworden. Die Dateiendung lautet .md, und weil es reiner Text ist, lässt sich jede Änderung in der Versionsverwaltung sauber nachvollziehen.

Was ist eine Markdown-Tabelle?

Eine Markdown-Tabelle besteht aus Zeilen, deren Zellen durch Pipe-Zeichen getrennt sind, mit einer Strichzeile unmittelbar unter der Kopfzeile. Diese zweite Zeile ist Pflicht: Sie kennzeichnet den Block überhaupt erst als Tabelle und sagt über die Stellung ihrer Doppelpunkte, wie die Spalten ausgerichtet werden. In eine Zelle passen weder eine verschachtelte Tabelle noch eine Liste noch ein echter Zeilenumbruch — das ist der Preis eines Formats, das als reiner Text lesbar bleiben will.

Was ist die Ausrichtungszeile?

Die Ausrichtungszeile ist die Strichzeile unter der Kopfzeile, geschrieben mit einem Abschnitt je Spalte. Die Doppelpunkte bestimmen die Ausrichtung: links der Striche wird die Spalte linksbündig, rechts davon rechtsbündig, auf beiden Seiten zentriert, und ohne jeden Doppelpunkt gilt die Voreinstellung des Renderers. Sie muss genau so viele Abschnitte enthalten wie die Kopfzeile Zellen hat; fehlt einer, wird der Block gar nicht erst als Tabelle erkannt.

Was ist der Unterschied zwischen CSV und einer Markdown-Tabelle?

CSV ist für Maschinen geschrieben: außer dem Trennzeichen gibt es keinen Schmuck, Spaltenbreite und Ausrichtung sind darin keine Begriffe. Eine Markdown-Tabelle ist für Menschen geschrieben — sie trägt die Ausrichtung mit sich und sieht schon in der Quelle wie eine Tabelle aus. Der Tausch geht in beide Richtungen: Eine Markdown-Tabelle lässt sich nicht in eine Datenbank importieren, und rohe CSV in einer README wird als eine lange Textzeile dargestellt. Dieses Werkzeug macht bereits richtige Daten veröffentlichungsfertig; für den Rückweg müssen Sie aus der Tabelle wieder Daten machen.

Welche Ausrichtung passt?

In Markdown gehört die Ausrichtung zur Spalte und nicht zur einzelnen Zelle, und sie wird durch die Doppelpunkte in der Strichzeile unter der Kopfzeile ausgedrückt. Dieses Werkzeug wendet eine Ausrichtung auf die ganze Tabelle an; wollen Sie es je Spalte anders, verschieben Sie die Doppelpunkte in der zweiten Zeile der Ausgabe von Hand — am Rest ändert sich nichts.

In der Praxis lohnt sich die rechtsbündige Ausrichtung bei Beträgen, Stückzahlen und Datumsangaben, weil die Ziffern dann untereinander stehen und eine falsche Größenordnung sofort auffällt. Textspalten liest man links ausgerichtet besser, deshalb ist das die Voreinstellung.

  • Linksbündig — Namen, Beschreibungen, Statusspalten
  • Zentriert — kurze Kennzeichen, Markierungen, einbuchstabige Codes
  • Rechtsbündig — Beträge, Stückzahlen, Prozentwerte, Datumsangaben

Wo eine Markdown-Tabelle dargestellt wird

GitHub und GitLab stellen diese Tabellen in README-Dateien, Issues, Beschreibungen von Pull Requests und Wikis dar, ebenso die meisten Generatoren für statische Seiten, Dokumentationswerkzeuge und Notiz-Apps. Tabellen gehören allerdings nicht zur ursprünglichen Markdown-Spezifikation: Sie stammen aus der Erweiterung GitHub Flavored Markdown, weshalb ein streng minimaler Renderer Ihre Tabelle als reinen Text ausgeben kann.

Nach dem Einfügen können Sie weiter bearbeiten. Eine Zeile ergänzen heißt, eine weitere Zeile mit derselben Anzahl Pipe-Zeichen zu schreiben. Die Leerzeichen-Auffüllung gerät dabei aus dem Lot, und die Tabelle wird trotzdem richtig dargestellt, denn diese Auffüllung ist nur für den Menschen da, der die Rohdatei liest.

Woran Ihre Daten sich halten müssen

Eine Kopfzeile ist Pflicht. Hat Ihr Export keine, ergänzen Sie oben eine Zeile, sonst rückt Ihr erster Datensatz in die Kopfzeile und verschwindet aus dem Körper der Tabelle.

Zeilen mit unterschiedlich vielen Zellen werden aufgefangen: Die breiteste Zeile bestimmt die Spaltenzahl, fehlende Zellen bleiben leer, damit nichts seitlich verrutscht. Eine leere Zelle ist in einer Markdown-Tabelle zulässig und wird als Lücke dargestellt.

Häufige Fragen

Muss die erste Zeile eine Kopfzeile sein?

Ja. Eine Markdown-Tabelle ist als Kopfzeile mit darunterliegender Strichzeile definiert, ohne sie gibt es keine gültige Tabelle. Hat Ihr Export keine Kopfzeile, schreiben Sie vor dem Umwandeln selbst eine Zeile darüber.

Was passiert mit einem Pipe-Zeichen in einer Zelle?

Es wird mit einem Backslash maskiert und erscheint als gewöhnliches Zeichen. Bliebe es unmaskiert, würde es die Zelle vorzeitig schließen und jeden folgenden Wert eine Spalte nach links rücken.

Werden mehrzeilige Zellen unterstützt?

Ein Zeilenumbruch innerhalb von Anführungszeichen wird in ein <br>-Element umgewandelt, denn eine Tabellenzelle in Markdown muss auf einer Zeile stehen. Die meisten Renderer zeigen dieses Element als Umbruch innerhalb der Zelle.

Kann ich jede Spalte anders ausrichten?

Das Werkzeug wendet eine Ausrichtung auf die gesamte Tabelle an. Für einzelne Spalten bearbeiten Sie die Doppelpunkte in der zweiten Zeile der Ausgabe: links der Striche richtet links aus, rechts davon rechts, auf beiden Seiten zentriert.

Werden meine Daten irgendwohin gesendet?

Nein. Das Zerlegen und der Aufbau der Tabelle geschehen in Ihrem Browser, der eingefügte Text erreicht keinen Server, und das Werkzeug arbeitet auch bei abgeschalteter Verbindung weiter.