Pular para o conteúdo
Convertube

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.