Direkt zum Tool
ViewCSV
Kein Datei-Upload

CSV in YAML umwandeln

orders.csv· BEISPIELDATEN15 Zeilen · 8 Spalten
Werttypen
Textwerte, die wie Zahlen, true/false oder Datumsangaben aussehen, werden in Anführungszeichen gesetzt und bleiben beim Einlesen derselbe Text.
- order_id: "001041"
  customer: Laura Koch
  city: Leipzig
  product: Monitor 27"
  quantity: "4"
  unit_price: "180.60"
  order_date: "2026-01-15"
  status: shipped
- order_id: "001042"
  customer: Mia Müller
  city: Köln
  product: Coffee beans 1kg
  quantity: "3"
  unit_price: "156.81"
  order_date: "2026-02-26"
  status: refunded
- order_id: "001043"
  customer: Anna Fischer
  city: Leipzig
  product: Notebook A5
  quantity: "1"
  unit_price: "229.89"
  order_date: "2026-03-17"
  status: refunded
- order_id: "001044"
  customer: Jonas Wagner
  city: Berlin
  product: Notebook A5
  quantity: "9"
  unit_price: "80.03"
  order_date: "2026-04-23"
  status: paid
- order_id: "001045"
  customer: Anna Koch
  city: Dresden
  product: Monitor 27"
  quantity: "5"
  unit_price: null
  order_date: "2026-05-24"
  status: pending
- order_id: "001046"
  customer: Felix Becker
  city: Frankfurt am Main
  product: Coffee beans 1kg
  quantity: "5"
  unit_price: "93.26"
  order_date: "2026-06-08"
  status: refunded
- order_id: "001047"
  customer: " Lena Koch "
  city: München
  product: Coffee beans 1kg
  quantity: "3"
  unit_price: "102.06"
  order_date: "2026-07-26"
  status: pending
- order_id: "001048"
  customer: Sophie Schmidt
  city: Frankfurt am Main
  product: Desk lamp
  quantity: "1"
  unit_price: "215.25"
  order_date: "2026-08-03"
  status: paid
- order_id: "001049"
  customer: Leon Müller
  city: Frankfurt am Main
  product: USB-C cable
  quantity: "6"
  unit_price: "89.20"
  order_date: "2026-09-03"
  status: paid
- order_id: "001050"
  customer: Leon Meyer
  city: Berlin
  product: Notebook A5
  quantity: "1"
  unit_price: "101.11"
  order_date: "2026-01-10"
  status: refunded
- order_id: "001051"
  customer: Leon Bauer
  city: Frankfurt am Main
  product: Notebook A5
  quantity: "9"
  unit_price: "142.33"
  order_date: "2026-02-01"
  status: refunded
- order_id: "001052"
  customer: Felix Schäfer
  city: Hamburg
  product: Monitor 27"
  quantity: "4"
  unit_price: "161.36"
  order_date: "2026-03-24"
  status: shipped
- order_id: "001053"
  customer: Max Wagner
  city: Hamburg
  product: Monitor 27"
  quantity: "1"
  unit_price: "184.33"
  order_date: "2026-04-13"
  status: paid
- order_id: "001054"
  customer: Jonas Müller
  city: Hamburg
  product: Desk lamp
  quantity: "8"
  unit_price: "205.98"
  order_date: "2026-05-06"
  status: pending
- order_id: "001043"
  customer: Anna Fischer
  city: Leipzig
  product: Notebook A5
  quantity: "1"
  unit_price: "229.89"
  order_date: "2026-03-17"
  status: refunded

15 Zeilen · 1 Datei

Öffnen Sie eine CSV-Datei oder fügen Sie sie ein – jede Zeile wird zu einem Eintrag einer YAML-Liste, mit den Spaltenüberschriften als Schlüssel. Standardmäßig bleibt jeder Wert Text, und Werte, die ein YAML-Parser sonst umdeuten würde – NO, yes, 0150, 2024-03-01, null –, werden in Anführungszeichen gesetzt, damit sie genau so zurückgelesen werden, wie sie geschrieben sind. Die Datei wird in Ihrem Browser umgewandelt und nie hochgeladen.

So wandeln Sie CSV in YAML um

  1. Wählen Sie Datei öffnen, ziehen Sie eine .csv-, .tsv- oder .txt-Datei auf das Werkzeug, oder wählen Sie Einfügen. Sehen die Schlüssel falsch aus, prüfen Sie Trennzeichen und Codierung unter Importeinstellungen.
  2. Wählen Sie die Werttypen und wie Leere Zellen geschrieben werden. Der YAML-Tab zeigt genau den Text, den der Download enthalten wird.
  3. Wählen Sie die Einrückung, dann Kopieren oder „YAML herunterladen“.

Das Ergebnis ist eine Sequenz auf oberster Ebene (Einträge der Form - key: value) – die Struktur, die für Fixtures, Seed-Daten und Datendateien statischer Websites üblich ist. Brauchen Sie stattdessen JSON, bietet CSV in JSON dieselben Typoptionen.

Optionen für die YAML-Ausgabe

Alle Werte als Text behaltenDie Standardeinstellung. Jeder Wert ist eine YAML-Zeichenkette; Anführungszeichen werden nur dort gesetzt, wo ein einfacher Skalar als etwas anderes gelesen würde.
Zahlen und true/false erkennenEine Spalte wird nur dann zu YAML-Zahlen, wenn jeder nicht leere Wert eine einfache Zahl ohne führende Nullen und mit höchstens 15 signifikanten Stellen ist; Spalten mit true/false (beliebige Schreibweise) werden zu Wahrheitswerten. yes/no und Datumswerte bleiben Zeichenketten in Anführungszeichen. Zahlen werden in kanonischer Form geschrieben, aus 1.50 wird also 1.5.
Leere Zellennull (Standard) schreibt key: null; Leerer Text "" schreibt key: ""; Schlüssel weglassen entfernt diesen Schlüssel aus der Zeile.
Einrückung2 Leerzeichen (Standard) oder 4 Leerzeichen für die Schlüssel unter jedem Listeneintrag.

Wie mehrdeutige Werte in Anführungszeichen gesetzt werden

Die Ausgabe ist so geschrieben, dass sie in Parsern für YAML 1.2 genauso zurückgelesen wird wie in älteren Parsern für YAML 1.1, etwa PyYAML, die mehr Wörter als Wahrheitswerte und Zahlen behandeln.

  • Länder- und Antwortcodes: NO, yes, off, y und on stehen in Anführungszeichen, damit der Ländercode Norwegens nicht als false geladen wird. Das gilt auch für Schlüssel ("on": x).
  • Führende Nullen: 0150 und 08001 stehen in Anführungszeichen; ohne sie liest YAML 1.1 diese Werte als Oktal- oder Dezimalzahlen und verliert die Null – wichtig etwa auch für deutsche Postleitzahlen wie 01067.
  • Datumswerte und Zahlen im Textmodus: 2019-04-01 und 12 stehen in Anführungszeichen, damit sie nicht als Zeitstempel oder Ganzzahl geladen werden.
  • Null-ähnlicher Text: Eine Zelle mit null oder ~ wird in Anführungszeichen gesetzt, bleibt also der Text, den Sie geschrieben haben, und wird nicht mit einer leeren Zelle verwechselt.
  • Zeilenumbrüche innerhalb eines Werts werden zu einem Literal-Block |-, und : oder # innerhalb von Text führt zu Anführungszeichen. Lange Zeilen werden nie umbrochen.
  • Spaltenüberschriften werden genau wie geschrieben als Schlüssel verwendet, einschließlich Leerzeichen und nicht lateinischer Schrift. Eine leere Spaltenüberschrift wird zu Column 3, eine doppelte zu name (2).

Häufige Probleme bei der Umwandlung von CSV in YAML

  • Eine Zahlenspalte bleibt trotz „Zahlen und true/false erkennen“ in Anführungszeichen. Mindestens ein Wert ist keine einfache Zahl, zum Beispiel 1,5, 12 kg oder 007. Finden Sie ihn im CSV-Viewer.
  • Eine Ja/Nein-Spalte wurde nicht zu Wahrheitswerten. Umgewandelt werden nur true und false, weil yes, no und on nur in YAML 1.1 Wahrheitswerte bedeuten. Brauchen Sie Wahrheitswerte, ersetzen Sie die Werte vorher in der CSV-Datei im CSV-Editor.
  • Schlüssel enthalten seltsame Zeichen wie ä oder é. Die Datei ist nicht in UTF-8 gespeichert. Wählen Sie ihre Codierung unter Importeinstellungen.
  • Alles steht unter einem Schlüssel. Das Trennzeichen wurde falsch erkannt. Stellen Sie es unter Importeinstellungen ein.

Grenzen und Datenschutz

Dateien bis 25 MB, 100.000 Zeilen oder 2 Millionen Zellen öffnen mit Live-Vorschau der ersten 200 Zeilen. Größere Dateien werden als Datenstrom umgewandelt: Die Datei wird zweimal abschnittsweise gelesen (einmal, um Spalten und Typen zu ermitteln, einmal zum Schreiben), ein Hinweis besagt, dass der Download die ganze Datei umfasst, und Kopieren wird nicht angeboten. Eine einzelne Ausgabedatei ist auf 4 GB begrenzt.

Die Umwandlung läuft in einem Hintergrund-Worker in diesem Tab; die Seite bleibt bedienbar, und Abbrechen beendet den Vorgang. Die CSV-Datei wird nie an einen Server gesendet.

Beispiel: eine Kundenliste mit Ländercodes und Postleitzahlen

Eine Kundenliste mit Ländercodes, Postleitzahlen mit führenden Nullen, Ja/Nein-Kennzeichen, Datumswerten und leeren Zellen, umgewandelt mit den Standardeinstellungen (alles Text, leere Zellen als null). Mit Zahlen und true/false erkennen ändert sich nur orders, zu 12, 3 und 7.

CSV
country,code,postcode,vat_registered,since,orders
Norway,NO,0150,yes,2019-04-01,12
Spain,ES,08001,no,2021-11-15,3
United States,US,02134,,,7
YAML-Ausgabe
- country: Norway
  code: "NO"
  postcode: "0150"
  vat_registered: "yes"
  since: "2019-04-01"
  orders: "12"
- country: Spain
  code: ES
  postcode: "08001"
  vat_registered: "no"
  since: "2021-11-15"
  orders: "3"
- country: United States
  code: US
  postcode: "02134"
  vat_registered: null
  since: null
  orders: "7"

Fragen und Antworten

Warum steht `NO` in Anführungszeichen?

In YAML 1.1 bedeuten NO, no, off und n ohne Anführungszeichen „falsch“. Die Anführungszeichen halten einen norwegischen Ländercode oder jede als no geschriebene Antwort in jedem Parser als Text.

Kann ich statt einer Liste ein einzelnes Mapping mit einer ID als Schlüssel erhalten?

Nein. Jede CSV-Zeile wird als ein Listeneintrag geschrieben, in der Reihenfolge der Datei. Eine Ausgabe mit ID-Schlüsseln ist hier nicht verfügbar.

Ist die Ausgabe gültiges YAML 1.2?

Ja. Die zusätzlichen Anführungszeichen, die YAML 1.1 braucht, sind auch in YAML 1.2 gültig; sie machen nur Werte ausdrücklich, die ohnehin schon Zeichenketten waren.

Standards und Quellen