Inicio › Herramientas para desarrolladores › Convertidor de CSV a YAML

Convertidor de CSV a YAML

Pega CSV o abre un archivo .csv y obtén YAML limpio: cada fila se convierte en un mapeo dentro de una lista, las celdas del encabezado pasan a ser claves, y los números, true/false y las celdas vacías se tipan como tú elijas. Las cadenas que YAML interpretaría mal, como no, 0755 o 2024-01-15, se ponen entre comillas automáticamente.

Última actualización:

Tu CSV se convierte en esta pestaña y nunca se sube. Consejo: suelta un archivo en el cuadro de entrada o pulsa Ctrl + Intro para convertir.

Publicidad
Publicidad

Cómo usar Convertidor de CSV a YAML

  1. Pega tu CSV en el cuadro de la izquierda, o abre o suelta un archivo .csv/.tsv. Se carga un ejemplo para que veas el resultado enseguida.
  2. Revisa los ajustes de delimitador y encabezado. La detección automática elige el separador que divide las filas de forma más coherente.
  3. Elige cómo se tipan los valores: detectar números y booleanos, conservar como texto códigos postales como 00501 y decidir en qué se convierten las celdas vacías.
  4. Elige una forma de salida, como una lista de mapeos para variables de Ansible o un mapeo indexado por ID para búsquedas en configuración.
  5. Copia o descarga el YAML. Se actualiza mientras escribes o cambias una opción.

Ejemplo: de CSV a YAML

Este CSV con fila de encabezado:

id,name,active,zip,address.city
1,Ada Lovelace,true,00501,London
2,Alan Turing,false,10001,Manchester

se convierte, como lista de mapeos con detección de tipos y anidación por puntos, en:

- id: 1
  name: Ada Lovelace
  active: true
  zip: '00501'
  address:
    city: London
- id: 2
  name: Alan Turing
  active: false
  zip: 10001
  address:
    city: Manchester

El código postal 00501 va entre comillas para conservar sus ceros a la izquierda, mientras que 10001 es un número real. Si eliges Mapeo con la primera columna como clave, las filas se indexan por ID ("1":, "2":), lo que resulta práctico para búsquedas en archivos de configuración.

Valores que YAML puede interpretar mal y cómo se escriben

Celda CSVYAML sin comillas lo leería comoSe escribe como
no, yes, on, offBooleano (analizadores de YAML 1.1 como PyYAML)'no'
0755, 0x1F, 1e3Número (octal, hexadecimal, científico)'0755' (se mantiene como texto)
2024-01-15Fecha / marca de tiempo'2024-01-15'
12:30Número en base 60, 750, en YAML 1.1'12:30'
#generalUn comentario (el valor desaparece)'#general'
key: value dentro de una celdaUn mapeo anidado o un error de sintaxis'key: value'
Celda vacíanullnull, "" u omitida (tú eliges)
Texto en dos líneasNecesita estilo de bloque o con escapesBloque literal |-

Consejos

  • Valores de Ansible y Helm: usa una clave raíz (por ejemplo users) para que la lista pueda referenciarse como variable o bajo un valor del chart.
  • Exportar desde Excel o Google Sheets: guarda como CSV UTF-8 para que los caracteres acentuados se conserven. Las exportaciones separadas por punto y coma de configuraciones regionales europeas se detectan automáticamente.
  • Comprueba el resultado con el Validador YAML, o convierte JSON en YAML con el Convertidor de JSON a YAML.

Preguntas frecuentes

¿Cómo se representa una fila CSV en YAML?

Cada fila de datos se convierte en un mapeo cuyas claves son las celdas del encabezado, y todas las filas juntas forman una secuencia (una lista), escrita con un guion delante de cada elemento. Un encabezado id,name y una fila 1,Ada se convierten en - id: 1 seguido de una línea sangrada name: Ada.

¿Por qué algunos valores van entre comillas?

YAML asigna un tipo al texto sin comillas. Palabras como yes, no, on y off se convierten en booleanos en los analizadores de YAML 1.1, 1e3 y 0x1F se convierten en números, 2024-01-15 puede convertirse en una fecha y un valor que empieza por # se convierte en un comentario. El convertidor pone esas cadenas entre comillas para que queden exactamente como estaban en el CSV; con la inferencia de tipos activada, solo los números reales, true/false y null se dejan sin comillas a propósito.

¿Qué pasa con los ceros a la izquierda como 00501 o 007?

Con Conservar los ceros a la izquierda como texto marcado, se escriben como cadenas entre comillas, así que los códigos postales, códigos de producto y números de teléfono conservan todos sus dígitos. Desmárcalo para convertirlos en números normales (501 y 7).

¿Cómo se convierten las celdas vacías?

Tú eliges: null (el valor nulo de YAML), una cadena vacía escrita como dos comillas, u omitir la clave por completo en esa fila. Omitirla es útil cuando el YAML alimenta una herramienta que aplica sus propios valores predeterminados a las claves que faltan.

¿Puedo crear YAML anidado a partir de un CSV plano?

Sí. Marca Anidar claves con puntos y nombra columnas como address.city y address.country; se convierten en un mapeo address con city y country dentro. Si una columna choca con una anidada, se mantiene como clave plana y una nota explica el motivo.

¿Y si mi CSV no tiene fila de encabezado?

Desmarca La primera fila es el encabezado. Entonces se convierten todas las filas y las claves se llaman column_1, column_2, etc., que puedes renombrar después.

¿Se suben mis datos?

No. El análisis y la conversión se hacen con JavaScript dentro de la pestaña de tu navegador, así que el CSV nunca sale de tu dispositivo. También funciona sin conexión una vez cargada la página.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →