DocumentosImágenesMediaHerramientas PDF

Convertir CSV a YAML Online

Convierte tablas CSV a configuración YAML. Gratis, en tu navegador, sin subir archivos.


- nombre: Juan
    edad: 30
    ciudad: Madrid
- nombre: Maria
    edad: 25
    ciudad: Barcelona
- nombre: Carlos
    edad: 35
    ciudad: Valencia
Procesado en tu navegador

CSV a YAML para configuraciones, inventarios y datos de prueba

Inventarios Ansible desde Excel

Transforma hojas de cálculo de servidores en inventarios YAML listos para Ansible.

Configuraciones Docker Compose

Genera configuraciones de servicios para Docker Compose desde tablas de parámetros.

Fixtures y datos de prueba

Convierte hojas de datos de prueba de QA en fixtures YAML para pytest, RSpec o Cypress.

100% privado

La conversión ocurre en tu navegador. Tu CSV nunca se envía a ningún servidor.

Tres pasos, sin complicaciones

1

Pega o sube tu CSV

Arrastra tu archivo .csv o pega el contenido. La primera fila define las claves YAML de cada objeto.

2

Conversión automática

Cada fila del CSV se convierte en un objeto YAML dentro de una secuencia. Los tipos de datos se infieren automáticamente.

3

Copia o descarga el YAML

Copia el YAML generado al portapapeles o descárgalo como archivo .yaml listo para usar en tu proyecto.

¿Tienes dudas?

La herramienta infiere tipos automáticamente: valores que sean 'true' o 'false' (sin comillas) se convierten a booleanos YAML, valores numéricos enteros a integers, valores con decimales a floats, y el resto permanece como strings. Esto es importante para la compatibilidad con Ansible (que usa PyYAML/YAML 1.1) y con Kubernetes (que usa el parser de Go, gopkg.in/yaml.v3, compatible con YAML 1.2). Si un valor como '007' debe mantenerse como string (por ejemplo, un código de país), es necesario entrecomillarlo en el CSV original.

Los casos principales son: generar inventarios Ansible desde una hoja de cálculo de inventario de servidores (con columnas como hostname, ip, grupo, usuario), crear archivos docker-compose.yml con múltiples servicios a partir de una tabla de configuración, generar configuraciones de variables de entorno por servicio desde un CSV de parámetros de aplicación, crear fixtures de datos de prueba para pytest o RSpec desde hojas de datos de prueba compartidas con el equipo de QA, y producir archivos values.yaml de Helm para despliegues en Kubernetes desde tablas de configuración de entornos.

El inventario Ansible en formato YAML espera una estructura específica con grupos y hosts. Si tu CSV tiene columnas como 'host', 'ip', 'grupo' y 'usuario', la conversión directa genera una lista plana de objetos. Para obtener la estructura jerárquica de grupos que espera Ansible, el resultado más útil es una lista de host-objects que puedes procesar con un script Python usando PyYAML, o usar directamente como fuente para un dynamic inventory script de Ansible. Muchos equipos DevOps mantienen el inventario primario en Google Sheets (exportado a CSV) y sincronizan con el inventario Ansible usando exactamente este flujo.

Sí, con limitaciones importantes. docker-compose.yml tiene una estructura profundamente anidada (services > nombre_servicio > image, ports, environment, volumes) que no mapea directamente a una tabla plana. Sin embargo, es posible generar la sección services como una lista de objetos desde un CSV con columnas como 'name', 'image', 'port_host', 'port_container', y luego usar un template o script para convertir esa lista al formato final de Compose. Este enfoque es útil para generar configuraciones de múltiples entornos (dev, staging, prod) desde una tabla central de parámetros.

YAML tiene varios caracteres especiales que pueden causar problemas si aparecen sin escapar en valores: los dos puntos seguidos de espacio (': ') se interpretan como separador clave-valor, el '#' inicia un comentario, '[', ']', '{', '}' son indicadores de flow collections, y '|' y '>' son indicadores de block scalars. La herramienta entrecomilla automáticamente los valores que contienen estos caracteres usando comillas dobles o simples según corresponda, generando YAML válido que es parseado correctamente por cualquier parser YAML 1.2 estándar.

Sí, con la consideración de que Ansible usa PyYAML que implementa YAML 1.1, mientras que Kubernetes usa gopkg.in/yaml.v3 que implementa YAML 1.2. La diferencia práctica más relevante es el manejo de booleanos: en YAML 1.1 'yes', 'no', 'on', 'off' son booleanos; en YAML 1.2 solo 'true' y 'false' (sin comillas) lo son. La herramienta genera YAML compatible con ambas versiones usando exclusivamente 'true' y 'false' como literales booleanos, que son válidos en ambas especificaciones.

Convertir CSV a YAML: inventarios Ansible, Docker Compose y generación masiva de configuraciones

YAML (YAML Ain't Markup Language, especificación 1.2 publicada el 1 de octubre de 2009 en yaml.org) es el formato estándar para archivos de configuración en el ecosistema DevOps: Ansible playbooks e inventarios, manifiestos de Kubernetes, workflows de GitHub Actions, pipelines de GitLab CI, docker-compose.yml, archivos values.yaml de Helm, configuraciones de aplicaciones en frameworks como Spring Boot (application.yml) o Ruby on Rails (database.yml). La necesidad de generar configuraciones YAML en lote a partir de hojas de cálculo es recurrente en equipos de ingeniería de plataforma, DevOps y SRE: cuando se incorporan decenas de nuevos servidores al inventario de infraestructura (cuya fuente de verdad es una hoja de cálculo de asset management), cuando se despliega un microservicio en múltiples entornos con parámetros distintos definidos en una tabla, o cuando el equipo de QA mantiene sus datos de prueba en Google Sheets y necesita generarlos como fixtures YAML para los tests automatizados.

El caso de generación de inventarios Ansible desde hojas de cálculo es especialmente frecuente en equipos que están adoptando Ansible para automatizar la gestión de una infraestructura preexistente. Los servidores ya están inventariados en hojas de cálculo o CMDBs (Configuration Management Databases) con información como hostname, dirección IP, sistema operativo, entorno (producción, staging, desarrollo), grupo funcional (web, base de datos, cache, monitorización) y variables específicas de cada servidor. Exportar esa hoja de cálculo a CSV y convertirla a YAML genera la base del inventario Ansible, que el equipo puede refinar añadiendo la jerarquía de grupos y las variables de grupo. Este flujo reduce a minutos lo que de otra forma requeriría escribir manualmente cientos de líneas de YAML. De forma análoga, la generación de archivos values.yaml de Helm para múltiples entornos (dev, staging, pre-prod, prod, por región geográfica) desde una tabla central de parámetros permite mantener una única fuente de verdad en formato tabular (fácilmente auditable y editable por todo el equipo) y generar los archivos YAML específicos de cada entorno de forma reproducible.

Otro caso de uso relevante es la creación de fixtures de datos de prueba en YAML. Frameworks de testing como pytest (a través de plugins como pytest-datadir o pytest-yaml), Ruby on Rails (que usa YAML fixtures desde Rails 1.0 de diciembre de 2004 para poblar la base de datos en tests), y Cypress (que usa fixtures en YAML o JSON para mockear respuestas de API) requieren los datos de prueba en formato YAML o JSON. Los equipos de QA suelen definir sus casos de prueba en hojas de cálculo Google Sheets compartidas, con columnas que representan los campos de cada entidad de prueba. Convertir esas hojas a CSV y luego a YAML genera automáticamente los fixtures que los ingenieros de testing pueden incorporar directamente al repositorio. Adicionalmente, la conversión CSV a YAML es el primer paso para migrar datos de configuración de aplicaciones desde formatos legacy (archivos .properties de Java, archivos .ini, tablas de base de datos de configuración) a YAML, que es el formato preferido por frameworks modernos. Convertir.ai realiza esta transformación completamente en el navegador, sin instalación de software, sin límites de filas, con inferencia automática de tipos y generación de YAML válido según la especificación 1.2.