Ir para a ferramenta
ViewCSV
Sem upload de arquivos

Converter CSV em YAML

orders.csv· DADOS DE EXEMPLO15 linhas · 8 colunas
Tipos de valor
Textos que parecem números, true/false ou datas ficam entre aspas, para serem lidos de volta como o mesmo texto.
- order_id: "001041"
  customer: Laura Costa
  city: Porto Alegre
  product: Desk lamp
  quantity: "6"
  unit_price: "224.92"
  order_date: "2026-01-15"
  status: shipped
- order_id: "001042"
  customer: Arthur Alves
  city: Fortaleza
  product: Monitor 27"
  quantity: "1"
  unit_price: "172.72"
  order_date: "2026-02-11"
  status: refunded
- order_id: "001043"
  customer: Miguel Costa
  city: Rio de Janeiro
  product: Coffee beans 1kg
  quantity: "7"
  unit_price: "165.86"
  order_date: "2026-03-07"
  status: shipped
- order_id: "001044"
  customer: Gael Rodrigues
  city: Belo Horizonte
  product: Monitor 27"
  quantity: "1"
  unit_price: "131.36"
  order_date: "2026-04-23"
  status: shipped
- order_id: "001045"
  customer: Alice Oliveira
  city: Porto Alegre
  product: USB-C cable
  quantity: "8"
  unit_price: null
  order_date: "2026-05-25"
  status: shipped
- order_id: "001046"
  customer: Helena Souza
  city: Salvador
  product: Coffee beans 1kg
  quantity: "1"
  unit_price: "71.08"
  order_date: "2026-06-08"
  status: refunded
- order_id: "001047"
  customer: " Laura Gomes "
  city: Porto Alegre
  product: Coffee beans 1kg
  quantity: "3"
  unit_price: "89.84"
  order_date: "2026-07-16"
  status: pending
- order_id: "001048"
  customer: Théo Oliveira
  city: Fortaleza
  product: Notebook A5
  quantity: "7"
  unit_price: "49.50"
  order_date: "2026-08-26"
  status: shipped
- order_id: "001049"
  customer: Helena Rodrigues
  city: Salvador
  product: Desk lamp
  quantity: "3"
  unit_price: "54.27"
  order_date: "2026-09-27"
  status: paid
- order_id: "001050"
  customer: Heitor Santos
  city: Curitiba
  product: Desk lamp
  quantity: "6"
  unit_price: "138.90"
  order_date: "2026-01-05"
  status: pending
- order_id: "001051"
  customer: Helena Ferreira
  city: Curitiba
  product: USB-C cable
  quantity: "7"
  unit_price: "6.10"
  order_date: "2026-02-03"
  status: refunded
- order_id: "001052"
  customer: Valentina Pereira
  city: Belo Horizonte
  product: Chair, ergonomic
  quantity: "3"
  unit_price: "106.72"
  order_date: "2026-03-09"
  status: shipped
- order_id: "001053"
  customer: Laura Alves
  city: Fortaleza
  product: Notebook A5
  quantity: "6"
  unit_price: "239.22"
  order_date: "2026-04-12"
  status: pending
- order_id: "001054"
  customer: Valentina Souza
  city: São Paulo
  product: Chair, ergonomic
  quantity: "9"
  unit_price: "154.44"
  order_date: "2026-05-25"
  status: pending
- order_id: "001043"
  customer: Miguel Costa
  city: Rio de Janeiro
  product: Coffee beans 1kg
  quantity: "7"
  unit_price: "165.86"
  order_date: "2026-03-07"
  status: shipped

15 linhas · 1 arquivo

Abra ou cole um arquivo CSV e cada linha vira um item de uma lista YAML, com as chaves tiradas do cabeçalho. Por padrão, todo valor continua como texto, e os valores que um parser YAML interpretaria de outro jeito — NO, yes, 0150, 2024-03-01, null — vão entre aspas, para serem carregados de volta exatamente como foram escritos. A conversão acontece no seu navegador, e o arquivo nunca é enviado.

Como converter CSV em YAML

  1. Clique em Abrir arquivo, arraste um arquivo .csv, .tsv ou .txt para a ferramenta ou escolha Colar. Se as chaves parecerem erradas, confira o delimitador e a codificação em Configurações de importação.
  2. Escolha os Tipos de valor e como as Células vazias são gravadas. A aba YAML mostra exatamente o texto que vai no download.
  3. Escolha o Recuo e depois clique em Copiar ou Baixar YAML.

O resultado é uma sequência no nível superior (itens - key: value), o formato usado em fixtures, dados de seed e arquivos de dados de sites estáticos. Se você precisa de JSON, CSV para JSON tem as mesmas opções de tipo.

Opções de saída YAML

Manter todos os valores como textoÉ o padrão. Todo valor é uma string YAML; as aspas só entram onde um escalar sem aspas seria lido como outra coisa.
Detectar números e true/falseUma coluna só vira número YAML quando todos os valores preenchidos são números simples, sem zeros à esquerda e com no máximo 15 algarismos significativos; colunas de true/false (em maiúsculas ou minúsculas) viram booleanos. yes/no e datas continuam como strings entre aspas. Os números são gravados na forma canônica, então 1.50 vira 1.5.
Células vaziasnull (o padrão) grava key: null; Texto vazio "" grava key: ""; Omitir a chave tira essa chave da linha.
Recuo2 espaços (padrão) ou 4 espaços para as chaves dentro de cada item da lista.

Como os valores ambíguos ficam entre aspas

A saída é escrita para ser lida da mesma forma por parsers YAML 1.2 e por parsers YAML 1.1 mais antigos, como o PyYAML, que tratam mais palavras como booleanos e números.

  • Códigos de país e de resposta: NO, yes, off, y e on vão entre aspas, para que o código da Noruega não seja carregado como false. Isso vale também para as chaves ("on": x).
  • Zeros à esquerda: 0150 e 08001 vão entre aspas; sem aspas, o YAML 1.1 os lê como números octais ou decimais e descarta o zero.
  • Datas e números no modo texto: 2019-04-01 e 12 vão entre aspas para não serem carregados como data/hora ou como inteiro.
  • Texto que parece nulo: uma célula com null ou ~ vai entre aspas, então continua sendo o texto que você escreveu e não se confunde com uma célula vazia.
  • Quebras de linha dentro de um valor viram um bloco literal |-, e textos com : ou # vão entre aspas. Linhas longas nunca são dobradas.
  • Os cabeçalhos viram chaves exatamente como foram escritos, inclusive com espaços e escritas não latinas. Um cabeçalho em branco vira Column 3 e um repetido vira name (2).

Problemas comuns ao converter CSV para YAML

  • Uma coluna numérica continuou entre aspas com Detectar números e true/false. Pelo menos um valor não é um número simples, por exemplo 1,5, 12 kg ou 007. Encontre-o no visualizador de CSV.
  • Uma coluna de sim/não não virou booleano. Só true e false são convertidos, porque yes, no e on só significam booleanos no YAML 1.1. Se precisar de booleanos, substitua esses valores no CSV antes com o Editor de CSV.
  • As chaves têm caracteres estranhos, como é. O arquivo não está em UTF-8. Escolha a codificação dele em Configurações de importação.
  • Ficou tudo dentro de uma chave só. O delimitador foi detectado errado; defina-o em Configurações de importação.

Limites e privacidade

Arquivos de até 25 MB, 100.000 linhas ou 2 milhões de células abrem com prévia ao vivo das primeiras 200 linhas. Arquivos maiores são convertidos em modo de streaming: o arquivo é lido duas vezes, em partes (uma para medir as colunas e seus tipos, outra para gravar), um aviso informa que o download cobre o arquivo inteiro e a opção Copiar não fica disponível. Cada arquivo de saída tem limite de 4 GB.

A conversão roda em um worker em segundo plano nesta aba, então a página continua respondendo e Cancelar interrompe o processo. O CSV nunca é enviado a um servidor.

Exemplo: uma lista de clientes com códigos de país e códigos postais

Uma lista de clientes com códigos de país, códigos postais com zeros à esquerda, campos de sim/não, datas e células vazias, convertida com as configurações padrão (tudo como texto, células vazias como null). Com Detectar números e true/false, só orders muda, para 12, 3 e 7.

CSV
country,code,postcode,vat_registered,since,orders
Norway,NO,0150,yes,2019-04-01,12
Spain,ES,08001,no,2021-11-15,3
United States,US,02134,,,7
YAML
- country: Norway
  code: "NO"
  postcode: "0150"
  vat_registered: "yes"
  since: "2019-04-01"
  orders: "12"
- country: Spain
  code: ES
  postcode: "08001"
  vat_registered: "no"
  since: "2021-11-15"
  orders: "3"
- country: United States
  code: US
  postcode: "02134"
  vat_registered: null
  since: null
  orders: "7"

Perguntas frequentes

Por que o `NO` está entre aspas?

No YAML 1.1, NO, no, off e n sem aspas significam falso. Com as aspas, um código de país norueguês, ou qualquer resposta escrita como no, continua sendo texto em qualquer parser.

Dá para gerar um único mapeamento indexado por ID em vez de uma lista?

Não. Cada linha do CSV é gravada como um item da lista, na ordem do arquivo. A saída indexada por chave não está disponível aqui.

A saída é YAML 1.2 válido?

Sim. As aspas extras necessárias para o YAML 1.1 continuam sendo YAML 1.2 válido; elas só deixam explícitos valores que já eram strings.

Padrões e referências