Convertidor de CSV a YAML

YAML es de lo que están hechos los archivos de configuración modernos: manifiestos de Kubernetes, workflows de GitHub Actions, Docker Compose, playbooks de Ansible, fixtures de Rails. Este convertidor lee un CSV y produce una secuencia YAML en la que cada fila se convierte en un mapeo cuyas claves son las de la fila de encabezado. La salida usa una sangría de dos espacios y un umbral en línea de 4 niveles, que coincide con el estilo de la mayoría de los editores y linters.

Cómo CSV se convierte en YAML

  1. 1

    Pega el CSV

    Se carga un ejemplo para que puedas ver la forma de salida predeterminada; reemplázalo con tus datos.

  2. 2

    Elige el delimitador

    Coma por defecto. Ingresa `\t` para entrada separada por tabulaciones o cualquier otro carácter único que use tu archivo.

  3. 3

    Los encabezados se convierten en claves

    La fila 1 se trata como el encabezado. Las filas de datos se convierten en mapeos bajo esas claves en el mismo orden que las columnas de origen.

  4. 4

    YAML volcado de forma segura

    La salida es renderizada por el componente YAML de Symfony, que cita valores cuando la ambigüedad con booleanos, números o fechas podría ocurrir.

Particularidades de YAML que deberías conocer antes de pegar la salida

YAML es famoso por ser indulgente en la superficie y lleno de trampas por debajo. El volcado maneja la mayoría de ellas, pero tus datos aún deben sobrevivir a la ida y vuelta.

El problema de Noruega y amigos

YAML 1.1 trata un no, yes, on, off, true, false, y, n (y sus formas capitalizadas) como booleanos. Esto significa que una columna de código de país con NO para Noruega puede convertirse silenciosamente en false.

Celda de origen Emitido como (sin comillas) Generalmente destinado a
NO false El país Noruega
ON true El estado Ontario
123 123 Ya sea número o ID
0100 64 (¡octal!) Un código con cero a la izquierda

El volcado entrecomilla automáticamente los valores arriesgados, pero si ves tipos incorrectos en tu salida, usa analizadores YAML 1.2 más adelante en el flujo o entrecomilla explícitamente los valores que te importan.

Opciones de formato

  • Sangría de dos espacios. Estándar en la mayoría de los editores; linters como yamllint la usan por defecto.
  • Umbral en línea 4. Las estructuras muy anidadas se imprimen en una sola línea por debajo del cuarto nivel; por encima, se expanden a varias líneas. Ajústalo más adelante en el flujo si quieres bloques más estrictos.
  • Los anclajes y alias no se generan. Cada fila es un nuevo mapeo incluso si las filas se repiten.

Ejemplo de salida

- name: Alice
  age: 30
- name: Bob
  age: 25

Cuándo elegir YAML sobre JSON

  • Configuraciones editadas a mano, donde los comentarios y las cadenas de varias líneas importan.
  • Manifiestos de Kubernetes, pipelines de CI, playbooks de Ansible.
  • Cualquier contexto en el que las personas vayan a leer el archivo tanto como las máquinas.

En caso contrario, JSON es más estricto y rápido de analizar: prefiérelo para formatos de transmisión y payloads generados.

Preguntas frecuentes

YAML 1.1 interpreta un NO sin comillas como un booleano. El convertidor entrecomilla los valores arriesgados, pero si un analizador posterior sigue forzando los tipos, entrecomilla las celdas problemáticas antes de pegar la salida o cambia a un analizador YAML 1.2 que trate esos valores como cadenas simples.

No con este convertidor; cada fila se convierte en un mapeo plano. Para YAML anidado, construye un pequeño script alrededor de una biblioteca YAML, o convierte a JSON primero y dale forma en un editor JSON.

Las celdas se analizan con str_getcsv usando el delimitador que elijas. Los valores entre comillas conservan los delimitadores y las comillas internos igual que lo harían en un analizador CSV real.

Sí. El CSV que pegas se envía a nuestro servidor, porque el análisis y la serialización YAML se ejecutan allí. Solo se usa para generar el YAML y no se almacena.

Herramientas relacionadas

Herramienta disponible en otros idiomas