Warum YAML in CSV konvertieren?
Datensätze, die in YAML für menschliche Lesbarkeit erstellt wurden - Produktkataloge, Kontaktlisten, Testdaten -, müssen oft in eine Tabellenkalkulation, eine Datenbank oder ein Reporting-Tool übertragen werden. .CSV ist das universelle Austauschformat für diesen Transfer, das von Excel, Google Sheets und praktisch jedem Datenbank-Importer akzeptiert wird.
Wie man YAML in CSV konvertiert
Kommandozeile - yq CLI
Führen Sie yq -o=csv '.' input.yaml > output.csv aus, nachdem Sie yq (kostenlos, Windows / macOS / Linux) von github.com/mikefarah/yq installiert haben.
Python - PyYAML + csv FREE
Installieren Sie PyYAML via pip, laden Sie es mit yaml.safe_load() und schreiben Sie die Zeilen mit dem integrierten csv.DictWriter.
Python - pandas FREE
Nach pip install pandas pyyaml konvertieren Sie in einer Zeile: pd.DataFrame(yaml.safe_load(open('input.yaml'))).to_csv('output.csv', index=False).
Über diese Formate
Eine .yaml- (oder .yml-)Datei ist strukturierter Text oder eine Konfiguration in YAML, verwendet für CI/CD-Pipelines, Docker Compose, Kubernetes-Manifeste und App-Konfigurationen. Öffnen…
.YAML-Details öffnen →Eine CSV-Datei speichert tabellarische Daten als Klartext - eine Zeile pro Datensatz, Werte durch Kommas (oder Semikolons in europäischen Regionen) getrennt. Jede Tabellenkalkulation öffnet…
.CSV-Details öffnen →Qualität & worauf zu achten ist
- Nur flache, einheitliche YAML-Sequenzen lassen sich sauber konvertieren - verschachtelte Konfigurationen (Kubernetes, Docker Compose, CI-Pipelines) erzeugen eine bedeutungslose oder leere CSV-Ausgabe.
- YAML-Kommentare und Typunterscheidungen (Integer, Booleans) gehen stillschweigend verloren; Werte wie
yes,no,onoderoffkönnten von älteren Parsern fälschlicherweise als Booleans interpretiert werden. - Die Spaltenreihenfolge folgt der Schlüsselreihenfolge des ersten Datensatzes; wenn Sie eine bestimmte Reihenfolge benötigen, definieren Sie
fieldnamesexplizit oder ordnen Sie die Schlüssel in der Quelldatei neu an.
Häufig gestellte Fragen
Mein YAML hat verschachtelte Objekte. Kann ich es trotzdem konvertieren?
Funktioniert dies mit Multi-Dokument-YAML-Dateien, die durch `---` getrennt sind?
yq eval-all '[.]' input.yaml zusammen, bevor Sie sie an das CSV-Ausgabeflag übergeben; die Dokumente müssen dennoch einheitliche flache Sequenzen sein.