araç köşesi

CSV in YAML umwandeln

Eine CSV-Tabelle in eine YAML-Liste umwandeln; jede Zeile wird ein Eintrag, jede Spaltenüberschrift ein Schlüssel, 01067 bleibt Text

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

So funktioniert es

Meist wollen Sie eine Tabelle in eine Konfigurationsdatei bringen: eine Serverliste, Testdaten, Übersetzungsschlüssel oder ein Ansible-Inventar liegen in Excel, das Programm erwartet aber YAML. Speichern Sie die Tabelle als CSV, öffnen Sie die Datei im Editor und fügen Sie den Inhalt links ein; rechts erscheint sofort das YAML. Die erste Zeile gilt als Kopfzeile, jede Überschrift wird ein Schlüssel. Aus "name;rolle;port" und drei Zeilen darunter wird eine Liste mit drei Einträgen: "- name: web-1", darunter "rolle: Frontend" und "port: 8080". Deutsches Excel trennt mit Semikolon; das erkennt das Werkzeug an den ersten Zeilen, und "cache; redis" in Anführungszeichen bleibt eine Zelle. Mit "Erkennen" wird 8080 eine Zahl und true ein Wahrheitswert. Die PLZ 01067, ein Wert wie 1.234 (Tausender oder Dezimalstelle?) und Nummern mit mehr als 15 Stellen bleiben Text und stehen in doppelten Anführungszeichen, damit kein YAML-Leser eine Zahl daraus macht. Eine leere Überschrift wird "spalte3", eine doppelte "name_2"; die Ergebniszeile sagt, was geändert wurde.

Dieses Werkzeug ist auch als csv in yaml umwandeln, csv zu yaml, csv to yaml, csv in yml konvertieren, excel tabelle in yaml bekannt.

Was ist YAML?

YAML ist ein Textformat, das Daten über Einrückung und Doppelpunkte ausdrückt: "port: 8080" ist ein Schlüssel mit Wert, ein "- " am Zeilenanfang ein Listeneintrag, Verschachtelung entsteht nur durch Leerzeichen (Tabulatoren sind verboten). Docker Compose, Kubernetes, GitHub Actions und Ansible nutzen YAML. Weil der Leser bei Werten ohne Anführungszeichen den Typ rät, entscheidet bei Tabellendaten die Frage, wann Anführungszeichen nötig sind.

Was ist Semikolon-CSV?

Eine Semikolon-CSV trennt die Zellen mit ; statt mit Komma. Deutsches, österreichisches und Schweizer Excel speichern CSV so, weil das Komma dort Dezimalzeichen ist (24,90). Programme aus dem englischen Sprachraum erwarten dagegen Kommas und lesen eine Semikolon-Datei als eine einzige Spalte. Enthält eine Zelle selbst das Trennzeichen, steht sie in doppelten Anführungszeichen, etwa "cache; redis".

Was ist der Unterschied zwischen CSV und YAML?

CSV ist eine flache Tabelle: Jede Zeile hat dieselben Spalten, Verschachtelung und Listen gibt es nicht, und eine Zelle hat keinen Typ. YAML ist ein Baum: In einem Eintrag können weitere Einträge, Listen oder mehrzeiliger Text stehen, und Zahl, Wahrheitswert und Text sind verschiedene Typen. Beim Weg von CSV zu YAML fällt deshalb die Typentscheidung. Pflegen Menschen die Daten in Excel, passt CSV; liest ein Programm sie als Einstellung, passt YAML.

Warum manche Werte in Anführungszeichen stehen

YAML rät bei Werten ohne Anführungszeichen den Typ. "port: 8080" ist eine Zahl, "aktiv: true" ein Wahrheitswert. "plz: 01067" würden manche Leser als Zahl 1067 oder als Oktalzahl lesen, "land: NO" (Norwegen) wird in älteren YAML-1.1-Lesern zu false, "datum: 2026-09-27" zu einem Datumsobjekt. Bleibt ein Wert Text, sieht aber wie Zahl, Datum oder Ja/Nein-Wort aus, schreibt das Werkzeug ihn in doppelte Anführungszeichen. So liest PyYAML, Ruby oder Go denselben Wert.

Die Zahlenerkennung ist absichtlich eng. 34, -3, 12.5 und 1,25 sind eindeutig und werden Zahlen; auch der Preis 24,90 wird zur Zahl 24.9, die Null am Ende fällt weg. 1.234 kann tausendzweihundertvierunddreißig oder eins Komma zwei drei vier heißen und bleibt Text, ebenso 1.250,50. Werte mit führender Null wie 007 oder 01067 bleiben Text, weil die Null eine Information ist.

  • 8080 → port: 8080 (Zahl)
  • true / FALSE → true / false (Wahrheitswert)
  • 01067 → "01067" (führende Null bleibt)
  • 24,90 → 24.9 (Zahl mit Punkt)
  • leere Zelle → "" (leerer Text, nicht null)

Welche Einstellung für welchen Zweck

Kommt das Ergebnis in die Konfiguration eines Programms (Docker Compose, Kubernetes, Ansible, eine App-Einstellung), lassen Sie "Erkennen" stehen: Portnummern und Schalter müssen echte Zahlen und Wahrheitswerte sein, sonst lehnt das Programm "8080" als Text womöglich ab. Bei Übersetzungsdateien, Artikelnummern oder Preisen, die exakt so bleiben müssen wie in der Tabelle (24,90 statt 24.9), wählen Sie "Alles als Text". Dann wird kein Wert umgedeutet; was wie eine Zahl aussieht, steht in Anführungszeichen.

Das Trennzeichen wählen Sie nur, wenn die Erkennung danebenliegt. Zeigt die Ergebniszeile weniger Felder als erwartet, etwa 1 Feld bei einer Tabelle mit 5 Spalten, ist die Datei vermutlich mit Semikolon getrennt und in den ersten Zeilen kommt ein anderes Zeichen häufiger vor. Für den Rückweg gibt es YAML in CSV; die Spalten kommen dort gleich zurück, nur 1,25 erscheint dann als 1.25.

Häufige Fragen

Wie wandle ich eine CSV-Datei in YAML um?

Öffnen Sie die CSV-Datei im Editor, in TextEdit oder einem anderen Texteditor, kopieren Sie den Inhalt und fügen Sie ihn links auf dieser Seite ein. Die erste Zeile gilt als Kopfzeile; jede Datenzeile wird ein Listeneintrag, der mit "- " beginnt. Das Ergebnis rechts können Sie kopieren oder als .yaml-Datei herunterladen.

Warum steht die Postleitzahl 01067 in Anführungszeichen?

Ohne Anführungszeichen könnte ein YAML-Leser sie für eine Zahl halten und die führende Null streichen; aus Dresden 01067 würde 1067. Das Werkzeug schreibt solche Werte deshalb in doppelte Anführungszeichen. Dasselbe gilt für 1.234, lange Kundennummern und Wörter wie NO, on oder yes.

Warum landet meine Excel-CSV in einem einzigen Feld?

Deutsches Excel trennt CSV-Spalten mit Semikolon, weil das Komma Dezimalzeichen ist. Die automatische Erkennung findet das meist selbst. Sehen Sie trotzdem nur ein Feld, stellen Sie "Trennzeichen zwischen den Spalten" auf "Semikolon — deutsches Excel"; stimmt die Felderzahl in der Ergebniszeile mit Ihren Spalten überein, passt die Einstellung.

Werden meine Daten an einen Server gesendet?

Nein. Die CSV wird in Ihrem Browser gelesen und das YAML dort geschrieben. Auch Serveradressen, Zugangsdaten oder eine Kundenliste verlassen diese Seite nicht und werden nirgends gespeichert.