Conversor de CSV para YAML
YAML é do que os arquivos de configuração modernos são feitos: manifests do Kubernetes, fluxos de trabalho do GitHub Actions, Docker Compose, playbooks do Ansible, fixtures do Rails. Este conversor lê um CSV e produz uma sequência YAML onde cada linha se torna um mapeamento com a chave da linha de cabeçalho. A saída usa indentação de dois espaços e um limite de 4 níveis em linha, que corresponde ao estilo da maioria dos editores e linters.
Como o CSV se torna YAML
-
1
Cole o CSV
Um exemplo é pré-carregado para que você possa ver a forma de saída padrão; substitua-o pelos seus dados.
-
2
Escolha o delimitador
Vírgula por padrão. Digite `\t` para entrada separada por tabulação ou qualquer outro caractere único que seu arquivo use.
-
3
Cabeçalhos se tornam chaves
A linha 1 é tratada como o cabeçalho. As linhas de dados se tornam mapeamentos sob essas chaves na mesma ordem das colunas de origem.
-
4
YAML despejado com segurança
A saída é renderizada pelo componente Symfony YAML, que coloca aspas em valores quando a ambiguidade com booleanos, números ou datas ocorreria.
Particularidades do YAML que você deve saber antes de colar a saída
YAML é notoriamente indulgente na superfície e cheio de armadilhas por baixo. O dumper lida com a maioria delas, mas seus dados ainda precisam sobreviver ao round-tripping.
O problema da Noruega e amigos
YAML 1.1 trata um no, yes, on, off, true, false, y, n (e suas formas capitalizadas) como booleanos. Isso significa que uma coluna de código de país com NO para a Noruega pode silenciosamente se transformar em false.
| Célula de origem | Emitido como (sem aspas) | Geralmente pretendido como |
|---|---|---|
NO |
false |
O país Noruega |
ON |
true |
O estado Ontário |
123 |
123 |
Número ou ID |
0100 |
64 (octal!) |
Um código com zero à frente |
O dumper coloca aspas em valores arriscados automaticamente, mas se você está vendo tipos errados em sua saída, mude para parsers YAML 1.2 a jusante ou coloque aspas explicitamente em valores que você se importa.
Escolhas de formatação
- Indentação de dois espaços. Padrão para a maioria dos editores; linters como
yamllintusam isso por padrão. - Limite em linha 4. Estruturas profundamente aninhadas são impressas em uma linha abaixo do 4º nível, acima disso se expandem para várias linhas. Ajuste a jusante se você quiser blocos mais rigorosos.
- Âncoras e aliases não são gerados. Cada linha é um novo mapeamento, mesmo que as linhas se repitam.
Exemplo de saída
- name: Alice
age: 30
- name: Bob
age: 25
Quando escolher YAML em vez de JSON
- Configurações editadas manualmente, onde comentários e strings de várias linhas importam.
- Manifestos do Kubernetes, pipelines de CI, playbooks do Ansible.
- Qualquer contexto onde as pessoas lerão o arquivo tanto quanto as máquinas.
Caso contrário, JSON é mais rigoroso e mais rápido para analisar, prefira-o para formatos de transmissão e cargas geradas.
Perguntas frequentes
YAML 1.1 interpreta NO como um booleano. O conversor coloca aspas em valores arriscados, mas se um parser a jusante ainda coerciona tipos, coloque aspas nas células problemáticas antes de colar a saída ou mude para um parser YAML 1.2 que trate esses como strings simples.
Não com este conversor, cada linha se torna um mapeamento plano. Para YAML aninhado, construa um pequeno script em torno de uma biblioteca YAML, ou converta para JSON primeiro e molde isso em um editor JSON.
As células são analisadas com str_getcsv usando seu delimitador escolhido. Valores entre aspas preservam delimitadores e aspas incorporados da mesma forma que fariam em um verdadeiro parser CSV.
Sim. O CSV que você cola é enviado ao nosso servidor, pois a análise e a serialização YAML são executadas lá. Ele é usado apenas para gerar o resultado YAML e não é armazenado.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Papel de Parede em Gradiente
Gere papéis de parede em gradiente borrados de três cores para laptop, telefone ou fundos do Zoom. Randomize ou defina o ângulo e o desfoque manualmente.
Gerador de Cores Análogas
Crie uma paleta análoga de cinco cores a partir de qualquer cor base, com o trio clássico, dois tons externos e valores hex, RGB e HSL.
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Ferramenta disponível em outros idiomas
- CSV-naar-YAML-converter [NL]
- CSV 转 YAML 转换器 [ZH]
- Konwerter CSV na YAML [PL]
- CSV to YAML Converter [EN]
- Convertidor de CSV a YAML [ES]
- CSV→YAMLコンバーター [JA]
- เครื่องแปลงข้อมูลจาก CSV เป็น YAML [TH]
- CSV zu YAML Konverter [DE]
- CSV'den YAML'a Dönüştürücü [TR]
- Convertisseur CSV en YAML [FR]
- Konverter CSV ke YAML [ID]
- CSV-till-YAML-omvandlare [SV]
- CSV → YAML 변환기 [KO]
- تحويل CSV إلى YAML [AR]
- Chuyển đổi từ CSV sang YAML [VI]
- Convertitore da CSV a YAML [IT]
- Конвертер CSV в YAML [RU]