¿Por qué convertir YAML a CSV?
Los conjuntos de datos creados en YAML para legibilidad humana - catálogos de productos, listas de contactos, accesorios de prueba - a menudo necesitan llegar a una hoja de cálculo, una base de datos o una herramienta de informes. .CSV es el formato de intercambio universal para esa transferencia, aceptado por Excel, Google Sheets y prácticamente cualquier importador de bases de datos.
Cómo convertir YAML a CSV
Línea de comandos - yq CLI
Ejecuta yq -o=csv '.' input.yaml > output.csv después de instalar yq (gratuito, Windows / macOS / Linux) desde github.com/mikefarah/yq.
Python - PyYAML + csv FREE
Instala PyYAML vía pip, luego cárgalo con yaml.safe_load() y escribe las filas con el csv.DictWriter integrado.
Python - pandas FREE
Después de pip install pandas pyyaml, convierte en una línea: pd.DataFrame(yaml.safe_load(open('input.yaml'))).to_csv('output.csv', index=False).
Acerca de estos formatos
Un archivo .yaml (o .yml) es un archivo de datos estructurados o configuración en texto plano escrito en YAML, utilizado para flujos de CI/CD, Docker Compose, manifiestos de Kubernetes y…
Abrir detalles de .YAML →Un archivo CSV almacena datos tabulares como texto plano: una fila por línea, con valores separados por comas (o puntos y comas en regiones europeas). Cualquier hoja de cálculo lo abre:…
Abrir detalles de .CSV →Calidad y qué observar
- Solo las secuencias YAML planas y uniformes se convierten limpiamente; las configuraciones anidadas (Kubernetes, Docker Compose, flujos de CI) producen una salida CSV vacía o sin sentido.
- Los comentarios de YAML y las distinciones de tipo (enteros, booleanos) se pierden silenciosamente; valores como
yes,no,onuoffpueden ser malinterpretados como booleanos por analizadores antiguos. - El orden de las columnas sigue el orden de las claves del primer registro; si necesitas un orden específico, define
fieldnamesexplícitamente o reordena las claves en el archivo de origen.
Preguntas frecuentes
¿Mi YAML tiene objetos anidados, aún puedo convertirlo?
¿Funciona esto con archivos YAML de múltiples documentos separados por `---`?
yq eval-all '[.]' input.yaml antes de pasar al indicador de salida CSV; los documentos aún deben ser secuencias planas uniformes.