Arquivos CSV: o formato sem tipos, sem codificação e sem comitê
O que um CSV realmente é, por que o mesmo arquivo abre diferente em duas planilhas e o que dizem as regras de aspas. Converta CSV no seu navegador, sem upload.
Visão geral
- Tipo
- Documentos
- Extensões
- .csv
- Tipo MIME
- text/csv
Um arquivo .csv é um arquivo de texto. Não há cabeçalho, nem versão, nem informação de tipo, nem nada binário — abra um no Bloco de Notas e você vê cada byte dele. Cada linha é uma linha da tabela, e algo separa os campos. Esse é o formato inteiro, e é por isso que qualquer coisa consegue gravar um e nenhum par de programas concorda sobre o que ele significa.
Saiba mais
Ele passou vinte e cinco anos sem especificação. A RFC 4180 chegou em 2005 e é explicitamente informativa, não um padrão — descreve o que a maioria das implementações faz, em vez de dizer a alguém o que fazer. O que ela resolve são as aspas: um campo que contém o separador, uma aspa ou uma quebra de linha fica entre aspas duplas, e uma aspa dentro desse campo é escrita duas vezes. Essa regra é a diferença entre "Widget, grande" ser uma célula ou duas, e é a regra que os leitores ingênuos ignoram.
O separador não é necessariamente uma vírgula. Uma planilha rodando em uma localidade que escreve decimais como 1,5 não pode usar a vírgula também para separar campos, então o Excel exporta ponto e vírgula ali — na mesma máquina, pelo mesmo menu, gerando um arquivo que o país vizinho não consegue abrir. Exportações de bancos de dados costumam usar tabulações. Qualquer ferramenta que leia CSV direito adivinha pelas primeiras linhas, e é isso que este site também faz.
Também não há declaração de codificação, e é aqui que os dados de fato se perdem. Um CSV com nomes em chinês salvo por um programa e aberto por outro volta embaralhado, porque um presumiu UTF-8 e o outro a página de código do sistema. E, como todo campo é texto sem tipo, a planilha adivinha de novo na importação: zeros à esquerda somem de códigos de peça, identificadores longos viram notação científica e tudo o que parece data vira data. O arquivo estava certo; a leitura dele é que não estava.
Converter CSV para outros formatos
Perguntas frequentes: CSV
Um CSV é só um arquivo de texto?
Sim, inteiramente. Sem contêiner, sem compressão, nada binário. Qualquer editor de texto o abre, e o que você vê é o que ele guarda.
Por que meu CSV usa ponto e vírgula?
Porque foi exportado em uma localidade em que a vírgula é o separador decimal, então ela não podia também separar os campos. Continua sendo um CSV, e qualquer leitor que preste detecta o separador em vez de presumi-lo.
Por que meus zeros à esquerda sumiram?
Porque o CSV não guarda tipos e a planilha adivinhou. "007" parece um número, então virou 7. Não havia nada de errado com o arquivo — quem decidiu foi a importação. A maioria das planilhas permite definir uma coluna como texto durante a importação, e essa é a única solução confiável.
Por que meu texto em chinês saiu embaralhado?
Porque o arquivo não declara sua codificação, e o programa que o abriu adivinhou diferente do programa que o gravou. Salvar como UTF-8 com marca de ordem de bytes (BOM) é o que faz o Excel lê-lo corretamente, ao custo de um marcador que algumas outras ferramentas mostram como caracteres estranhos.
Posso converter um CSV em PDF aqui?
Sim. Ele é interpretado como CSV em vez de simplesmente dividido nas vírgulas, então os campos entre aspas sobrevivem, e as colunas são dimensionadas pelo conteúdo, com a linha de cabeçalho em negrito. O resultado serve para ler e imprimir — nada em um PDF pode ser ordenado ou somado.
E converter para Excel?
Não é necessário: qualquer aplicativo de planilha abre um CSV diretamente, e converter antes só acrescenta mais uma etapa em que os tipos são adivinhados. A conversão que existe aqui é a do sentido oposto — PDF para Excel, que reconstrói uma tabela a partir de uma página que nunca registrou uma.