DokumenteBilderMedienPDF-Werkzeuge

CSV in YAML konvertieren Online

CSV-Tabellen in YAML-Konfiguration umwandeln. Kostenlos, im Browser, ohne Datei-Upload.


- nombre: Juan
    edad: 30
    ciudad: Madrid
- nombre: Maria
    edad: 25
    ciudad: Barcelona
- nombre: Carlos
    edad: 35
    ciudad: Valencia
Processed in your browser

CSV zu YAML für Konfigurationen, Inventories und Testdaten

Ansible-Inventories aus Excel

Verwandle Server-Tabellen in YAML-Inventories, die sofort für Ansible einsatzbereit sind.

Docker-Compose-Konfigurationen

Generiere Service-Konfigurationen für Docker Compose aus Parametertabellen.

Fixtures und Testdaten

Wandle QA-Testdatenblätter in YAML-Fixtures für pytest, RSpec oder Cypress um.

100 % privat

Die Umwandlung läuft in deinem Browser. Deine CSV wird nie an einen Server gesendet.

Drei Schritte, kein Aufwand

1

Deine CSV einfügen oder hochladen

Ziehe deine .csv-Datei hinein oder füge den Inhalt ein. Die erste Zeile definiert die YAML-Schlüssel für jedes Objekt.

2

Automatische Umwandlung

Jede CSV-Zeile wird zu einem YAML-Objekt innerhalb einer Sequenz. Datentypen werden automatisch erkannt.

3

YAML kopieren oder herunterladen

Kopiere das generierte YAML in die Zwischenablage oder lade es als .yaml-Datei herunter, die sofort in deinem Projekt einsetzbar ist.

Noch Fragen?

Das Tool erkennt Typen automatisch: Werte 'true' oder 'false' (ohne Anführungszeichen) werden in YAML-Booleans umgewandelt, ganzzahlige numerische Werte in Integers, Dezimalwerte in Floats, der Rest bleibt als Zeichenketten. Das ist wichtig für die Kompatibilität mit Ansible (das PyYAML/YAML 1.1 verwendet) und mit Kubernetes (das den Go-Parser gopkg.in/yaml.v3, kompatibel mit YAML 1.2, nutzt). Wenn ein Wert wie '007' eine Zeichenkette bleiben soll (z. B. ein Ländercode), muss er in der Original-CSV in Anführungszeichen gesetzt werden.

Die wichtigsten Fälle sind: Ansible-Inventories aus einer Server-Inventartabelle generieren (mit Spalten wie hostname, ip, group, user), docker-compose.yml-Dateien mit mehreren Services aus einer Konfigurationstabelle erstellen, umgebungsspezifische Konfigurationen aus einer Anwendungsparameter-CSV generieren, Testdaten-Fixtures für pytest oder RSpec aus Testdatenblättern des QA-Teams erstellen, und Helm-values.yaml-Dateien für Kubernetes-Deployments aus Umgebungskonfigurationstabellen erzeugen.

Das Ansible-Inventory im YAML-Format erwartet eine bestimmte Struktur mit Gruppen und Hosts. Wenn deine CSV Spalten wie 'host', 'ip', 'group' und 'user' hat, erzeugt die direkte Umwandlung eine flache Liste von Objekten. Um die hierarchische Gruppenstruktur zu erhalten, die Ansible erwartet, ist das nützlichste Ergebnis eine Liste von Host-Objekten, die du mit einem Python-Skript mit PyYAML weiterverarbeiten oder direkt als Quelle für ein dynamisches Ansible-Inventory-Skript verwenden kannst. Viele DevOps-Teams pflegen das primäre Inventory in Google Sheets (als CSV exportiert) und synchronisieren mit dem Ansible-Inventory genau über diesen Workflow.

Ja, mit wichtigen Einschränkungen. docker-compose.yml hat eine tief verschachtelte Struktur (services > service_name > image, ports, environment, volumes), die sich nicht direkt auf eine flache Tabelle abbilden lässt. Es ist jedoch möglich, den services-Abschnitt als Liste von Objekten aus einer CSV mit Spalten wie 'name', 'image', 'port_host', 'port_container' zu generieren und dann eine Vorlage oder ein Skript zu verwenden, um diese Liste in das endgültige Compose-Format umzuwandeln. Dieser Ansatz eignet sich gut für die Konfigurationsgenerierung für mehrere Umgebungen (dev, staging, prod) aus einer zentralen Parametertabelle.

YAML hat mehrere Sonderzeichen, die Probleme verursachen können, wenn sie unescaped in Werten erscheinen: Ein Doppelpunkt gefolgt von einem Leerzeichen (': ') wird als Schlüssel-Wert-Trennzeichen interpretiert, '#' beginnt einen Kommentar, '[', ']', '{', '}' sind Flow-Collection-Indikatoren, und '|' und '>' sind Block-Scalar-Indikatoren. Das Tool setzt Werte mit diesen Zeichen automatisch in einfache oder doppelte Anführungszeichen, sodass gültiges YAML erzeugt wird, das von jedem YAML-1.2-Standardparser korrekt interpretiert wird.

Ja, mit der Einschränkung, dass Ansible PyYAML verwendet (YAML 1.1), während Kubernetes gopkg.in/yaml.v3 einsetzt (YAML 1.2). Der praktisch relevanteste Unterschied betrifft die Behandlung von Booleans: In YAML 1.1 sind 'yes', 'no', 'on', 'off' Booleans; in YAML 1.2 nur 'true' und 'false' (ohne Anführungszeichen). Das Tool generiert YAML, das mit beiden Versionen kompatibel ist, indem ausschließlich 'true' und 'false' als Boolean-Literale verwendet werden, die in beiden Spezifikationen gültig sind.

CSV zu YAML konvertieren: Ansible-Inventories, Docker Compose und Batch-Konfigurationsgenerierung

YAML (YAML Ain't Markup Language, Spezifikation 1.2 veröffentlicht am 1. Oktober 2009 unter yaml.org) ist das Standardformat für Konfigurationsdateien im DevOps-Ökosystem: Ansible-Playbooks und -Inventories, Kubernetes-Manifests, GitHub-Actions-Workflows, GitLab-CI-Pipelines, docker-compose.yml, Helm-values.yaml-Dateien und Anwendungskonfigurationen in Frameworks wie Spring Boot (application.yml) oder Ruby on Rails (database.yml). Der Bedarf, YAML-Konfigurationen in großen Mengen aus Tabellenkalkulationen zu generieren, ist in Platform-Engineering-, DevOps- und SRE-Teams wiederkehrend: wenn Dutzende neue Server zum Infrastruktur-Inventory hinzugefügt werden, wenn ein Microservice in mehreren Umgebungen mit unterschiedlichen Parametern aus einer Tabelle eingesetzt wird, oder wenn das QA-Team seine Testdaten in Google Sheets pflegt und sie als YAML-Fixtures für automatisierte Tests generieren muss.

Das Generieren von Ansible-Inventories aus Tabellenkalkulationen ist besonders häufig in Teams, die Ansible einführen, um eine bestehende Infrastruktur zu automatisieren. Server sind bereits in Tabellenkalkulationen oder CMDBs (Configuration-Management-Datenbanken) mit Informationen wie Hostname, IP-Adresse, Betriebssystem, Umgebung (production, staging, development), Funktionsgruppe (web, database, cache, monitoring) und serverspezifischen Variablen inventarisiert. Den Export dieser Tabelle als CSV und die Umwandlung in YAML bildet die Basis des Ansible-Inventorys, das das Team durch Hinzufügen der Gruppenhierarchie und Gruppenvariablen verfeinern kann. Dieser Workflow reduziert auf Minuten, was sonst das manuelle Schreiben von Hunderten von YAML-Zeilen erfordern würde. Ebenso ermöglicht das Generieren von Helm-values.yaml-Dateien für mehrere Umgebungen aus einer zentralen Parametertabelle das Pflegen einer einzigen, tabellarischen Wahrheitsquelle und das reproduzierbare Erzeugen umgebungsspezifischer YAML-Dateien.

Ein weiterer relevanter Anwendungsfall ist das Erstellen von Testdaten-Fixtures in YAML. Test-Frameworks wie pytest (über Plugins wie pytest-datadir oder pytest-yaml), Ruby on Rails (das seit Rails 1.0 im Dezember 2004 YAML-Fixtures zum Befüllen der Datenbank in Tests verwendet) und Cypress (das YAML- oder JSON-Fixtures zum Mocken von API-Antworten nutzt) benötigen Testdaten im YAML- oder JSON-Format. QA-Teams definieren ihre Testfälle typischerweise in geteilten Google Sheets, mit Spalten, die Felder jeder Testentität repräsentieren. Die Umwandlung dieser Blätter nach CSV und dann in YAML generiert automatisch Fixtures, die Testingenieure direkt ins Repository übernehmen können. Darüber hinaus ist CSV-zu-YAML-Konvertierung der erste Schritt für die Migration von Anwendungskonfigurationsdaten aus alten Formaten (Java .properties-Dateien, .ini-Dateien, Konfigurationsdatenbanktabellen) zu YAML. Convertir.ai führt diese Transformation vollständig im Browser durch, ohne Software-Installation, ohne Zeilenlimits und mit automatischer Typerkennung.