Por que converter YAML para CSV?
Conjuntos de dados criados em YAML para legibilidade humana - catálogos de produtos, listas de contatos, fixtures de teste - muitas vezes precisam chegar a uma planilha, um banco de dados ou uma ferramenta de relatórios. .CSV é o formato de intercâmbio universal para essa transferência, aceito pelo Excel, Google Sheets e virtualmente todos os importadores de bancos de dados.
Como converter YAML para CSV
Linha de comando - yq CLI
Execute yq -o=csv '.' input.yaml > output.csv após instalar o yq (gratuito, Windows / macOS / Linux) a partir de github.com/mikefarah/yq.
Python - PyYAML + csv FREE
Instale o PyYAML via pip, carregue com yaml.safe_load() e escreva as linhas com o csv.DictWriter nativo.
Python - pandas FREE
Após pip install pandas pyyaml, converta em uma linha: pd.DataFrame(yaml.safe_load(open('input.yaml'))).to_csv('output.csv', index=False).
Sobre estes formatos
Um arquivo .yaml (ou .yml) é um arquivo de texto simples com dados estruturados ou configurações escritas em YAML, usado para pipelines de CI/CD, Docker Compose, manifestos de Kubernetes e…
Abrir detalhes de .YAML →Um arquivo CSV armazena dados tabulares como texto simples - uma linha por registro, valores separados por vírgulas (ou ponto e vírgula em localidades europeias). Qualquer planilha o abre:…
Abrir detalhes de .CSV →Qualidade e o que observar
- Apenas sequências YAML planas e uniformes convertem de forma limpa - configurações aninhadas (Kubernetes, Docker Compose, pipelines de CI) produzem uma saída CSV sem sentido ou vazia.
- Comentários YAML e distinções de tipo (inteiros, booleanos) são perdidos silenciosamente; valores como «yes», «no», «on» ou «off» podem ser lidos incorretamente como booleanos por analisadores antigos.
- A ordem das colunas segue a ordem das chaves do primeiro registro; se precisar de uma ordem específica, defina
fieldnamesexplicitamente ou reordene as chaves no arquivo de origem.
Perguntas frequentes
Meu YAML tem objetos aninhados. Ainda posso convertê-lo?
Isso funciona com arquivos YAML de múltiplos documentos separados por `---`?
yq eval-all '[.]' input.yaml antes de passar para a flag de saída CSV; os documentos ainda devem ser sequências planas uniformes.