Lição de história: O que é um arquivo .csv? Por que o Excel altera seus dados ao abri-lo
Valores separados por vírgulas: a tabela em texto simples que nasceu do FORTRAN dos anos 1970 e das primeiras planilhas, só foi documentada na RFC 4180 em 2005 e ainda perde zeros à esquerda e nomes de genes toda vez que uma planilha adivinha o que o texto significa.

TL;DR
Um arquivo .csv contém valores separados por vírgulas (comma-separated values): uma tabela escrita como texto simples, um registro por linha, vírgulas entre os campos e aspas duplas em volta de qualquer campo que contenha uma vírgula, aspas ou uma quebra de linha. A ideia é mais antiga que o PC: em 1972 os compiladores FORTRAN da IBM liam entradas separadas por vírgulas vindas de terminais e cartões perfurados, e em 1983 os programas de planilha já salvavam arquivos com a extensão .CSV. Ninguém escreveu as regras formalmente até a RFC 4180, de outubro de 2005, que também registrou o tipo MIME text/csv. Como um CSV não traz tipos de coluna, fórmulas nem uma etiqueta de codificação, todo programa que o abre precisa adivinhar, e os palpites do Excel são a razão de os zeros à esquerda sumirem, nomes de genes virarem datas e, às vezes, o arquivo inteiro cair em uma única coluna.
O que é um arquivo .csv?
Abra um CSV no Bloco de Notas e nada está escondido: linhas de texto, cada linha um registro, cada vírgula uma troca de coluna. Um campo que precisa conter uma vírgula fica entre aspas duplas, e aspas dentro desse campo são escritas duas vezes. Esse é o formato inteiro. Não há bloco de cabeçalho, nem lista de tipos de coluna, nem fórmulas, nem formatação: só os valores, do jeito que algum programa os escreveu. Essa simplicidade explica por que quase todo banco de dados, planilha, programa de contabilidade, banco e linguagem de programação sabe ler e escrever CSV, e por que ele continua sendo o formato de reserva da maioria das exportações e importações de dados.
Por que o Excel bagunça meu CSV?
Como um CSV não consegue dizer o que seus valores são, o Excel decide sozinho. A própria documentação da Microsoft lista as conversões automáticas que o Excel aplica por padrão quando um texto é digitado, colado ou carregado: ele remove zeros à esquerda e converte o resto em número (00123 vira 123, e é assim que CEPs e matrículas perdem o primeiro dígito); mantém só os primeiros 15 dígitos de números longos e pode exibi-los em notação científica (os últimos dígitos de um número de cartão ou de conta viram zeros); trata dígitos em volta da letra E como expoente (123E5 vira 1,23E+07); e converte em data um texto parecido com data, como JAN1. Se você salvar a planilha de novo como CSV, são os valores convertidos que serão gravados.
A segunda surpresa é o delimitador. Ao salvar ou abrir um CSV, o Excel usa o separador de lista das configurações regionais do Windows. No Brasil e em boa parte da Europa continental a vírgula é o separador decimal (3,14), então o separador de lista é o ponto e vírgula, e as instruções da Microsoft confirmam a ligação: definir a vírgula como separador decimal «força o Excel a usar ponto e vírgula como separador de lista». Um arquivo salvo em São Paulo costuma, por isso, vir cheio de pontos e vírgulas, e um arquivo separado por vírgulas vindo de um sistema americano pode abrir com cada linha espremida na coluna A. A codificação do texto é a terceira armadilha: a Microsoft observa que um CSV UTF-8 só abre normalmente se tiver sido salvo com marca de ordem de bytes (BOM), alguns bytes invisíveis no início que anunciam a codificação; sem ela, letras acentuadas podem virar caracteres estranhos, a menos que você importe o arquivo e escolha UTF-8.
Abra um CSV sem adivinhação
Em vez de clicar duas vezes, use no Excel Dados > Obter Dados > De Texto/CSV, confira o delimitador e a origem do arquivo (a codificação) e defina como Texto colunas como CEPs, números de conta ou símbolos de genes antes de carregar. As versões atuais do Excel também permitem desativar conversões individuais em Arquivo > Opções > Dados > Conversão Automática de Dados.
1972: vírgulas no lugar das colunas do cartão
Antes de ter nome, o CSV teve um motivo. Os dados dos programas de mainframe dos anos 1960 costumavam ser perfurados em colunas fixas de cartões de 80 colunas, e um programa FORTRAN precisava de uma instrução FORMAT que dissesse exatamente quais colunas continham qual número; um valor perfurado uma coluna fora do lugar era lido errado. Os produtos FORTRAN IV da IBM para os sistemas operacionais OS e VM/370, descritos em um manual de informações gerais datado de julho de 1972, ofereciam uma alternativa chamada entrada/saída dirigida por lista. O manual explica que as entradas «são separadas por espaços ou vírgulas, com vírgulas sucessivas indicando valores omitidos», e que desaparece a preocupação do programador «com a disposição dos dados e com colunas específicas do cartão». Na época, a IBM a listava entre suas extensões à linguagem padrão.
A entrada dirigida por lista passou a fazer parte da linguagem padrão com o FORTRAN 77, aprovado em 1978. Ela aceitava vírgulas ou espaços como separadores, então um texto sem aspas não podia conter nenhum dos dois, exatamente o problema que as aspas do CSV teriam de resolver depois. Nada disso ainda era um formato de arquivo. Era um jeito de deixar as pessoas digitarem números em sequência, separados por vírgulas, e deixar o computador descobrir onde cada um começava.
1983: uma planilha dá uma extensão aos arquivos
As planilhas dos microcomputadores transformaram o hábito em arquivos. O guia de referência de 1983 do Osborne Executive, um computador portátil de escritório vendido com o SuperCalc da Sorcim, descreve um utilitário de conversão que atribui «.CSV para arquivos Comma-Separated-Value» e explica a estrutura: linhas de dados, cada uma terminada por retorno de carro e avanço de linha, valores separados por vírgulas, cadeias de texto entre aspas duplas, que podem conter vírgulas, e um Control-Z marcando o fim do arquivo. O guia acrescenta que esses dados também podiam ser gerados em um mainframe e baixados para a mesa.
O mesmo guia expõe o compromisso que ainda define o formato. Fórmulas não são enviadas a um arquivo CSV; «apenas os valores que aparecem na tela no momento da conversão» são enviados. Converta uma planilha para CSV e de volta, e as fórmulas se foram. O CSV nunca foi pensado para substituir uma planilha. Era o menor denominador comum que permitia a uma planilha, um banco de dados, um programa em BASIC e um mainframe concordarem sobre linhas e colunas.
Como os bytes funcionam
Um CSV é feito só de caracteres. Cada registro é uma linha, terminada na forma clássica por retorno de carro e avanço de linha (CRLF, os dois caracteres de controle com que o DOS e o Windows encerram uma linha), embora alguns programas gravem apenas o avanço de linha. Os campos são separados por vírgulas. Um campo pode ficar entre aspas duplas, e precisa ficar se contiver vírgula, aspas ou quebra de linha; aspas dentro de um campo entre aspas são duplicadas (""). A primeira linha pode ser um cabeçalho com os nomes das colunas, mas nada no arquivo diz se é. E nada diz o que os valores significam: 00123, 1-2 e MARCH1 são só texto até que um programa decida outra coisa.
O arquivo também não diz qual codificação de caracteres usa, ou seja, a correspondência entre bytes e letras. CSVs mais antigos eram muitas vezes gravados em uma página de código de um byte do Windows ou do DOS adequada ao idioma do computador; os mais novos costumam ser UTF-8, a codificação Unicode em que a web funciona. O programa que lê o arquivo precisa adivinhar: por isso a BOM importa para o Excel, e por isso nomes com acentos, cedilhas ou escritas asiáticas são os primeiros a quebrar quando um CSV passa de um sistema para outro.
2005: a RFC 4180 põe as regras no papel
No começo dos anos 2000, o CSV estava em toda parte e não era especificado em lugar nenhum. Em outubro de 2005, a IETF (Internet Engineering Task Force, o órgão que elabora os padrões da Internet) publicou a RFC 4180, «Common Format and MIME Type for Comma-Separated Values (CSV) Files», escrita por Yakov Shafranovich. A introdução é direta: «Surpreendentemente, embora esse formato seja muito comum, ele nunca foi documentado formalmente». O memorando descreve «o formato que parece ser seguido pela maioria das implementações» (quebras de linha CRLF, linha de cabeçalho opcional, vírgulas, regras para aspas duplas) e registra text/csv na IANA, a entidade que mantém a lista de tipos de mídia, com os parâmetros opcionais charset e header. Ele chega a observar que «alguns programas, como o Microsoft Excel, não usam aspas duplas de forma alguma».
A RFC 4180 é uma RFC informativa; ela diz que «não especifica nenhum tipo de padrão da Internet». O trabalho posterior foi construído em volta dela sem substituí-la: em 2014, a RFC 7111 definiu como um endereço da web pode apontar para linhas, colunas ou células específicas de um arquivo text/csv, e um grupo de trabalho do W3C chamado CSV on the Web, encerrado em 2016, publicou recomendações para descrever as colunas de um CSV, incluindo seus tipos, em um arquivo de metadados separado. O CSV em si continua sem nenhum.
Quando o palpite erra: genes, datas e linhas perdidas
A vítima mais bem documentada é a biologia. Em 2004, Barry Zeeberg e colegas relataram na BMC Bioinformatics que as conversões padrão do Excel alteravam nomes de genes: o supressor de tumor DEC1 virava «1-DEC», e identificadores de clones RIKEN como 2310009E13 viravam o número 2,31E+13, conversões que eles chamaram de irreversíveis. Em 2016, Mark Ziemann, Yotam Eren e Assam El-Osta examinaram arquivos suplementares de Excel de 18 periódicos publicados de 2005 a 2015 e encontraram erros em nomes de genes nos arquivos de 704 artigos, 19,6% dos artigos com listas de genes em Excel. Em 2020, o HUGO Gene Nomenclature Committee (HGNC), que aprova os símbolos dos genes humanos, publicou diretrizes confirmando que todos os símbolos que viravam datas automaticamente tinham sido alterados ao longo de 2019: SEPT1 agora é SEPTIN1, e MARCH1 agora é MARCHF1.
O CSV também esteve no início de uma falha na saúde pública. Entre 25 de setembro e 2 de outubro de 2020, 15.841 casos positivos de COVID-19 na Inglaterra ficaram de fora dos números diários. A Public Health England (PHE) afirmou que alguns arquivos ultrapassaram o tamanho máximo do processo que carregava os resultados nos sistemas centrais. A BBC relatou que as empresas de testes haviam enviado os resultados como arquivos CSV sem problemas, mas que o processo automático da PHE os despejava em modelos de Excel no antigo formato XLS, que comporta só cerca de 65.000 linhas; com várias linhas por teste, cada modelo enchia em cerca de 1.400 casos e o restante ficava de fora.
No fim, a Microsoft mudou o software em vez dos padrões. Em outubro de 2023, a equipe do Excel anunciou a disponibilidade geral das configurações de Conversão Automática de Dados para Windows (versão 2309 ou posterior) e Mac (16.77 ou posterior), com caixas de seleção para zeros à esquerda, truncamento em 15 dígitos, a letra E e «letras e números contínuos» convertidos em datas, além de um aviso opcional quando um arquivo .csv ou .txt está prestes a ser convertido. As conversões continuam ativas até você desativá-las.
Guarde o CSV original
Depois que o Excel converteu uma coluna e você salva por cima do arquivo, o CSV passa a conter os valores alterados; o texto original não pode ser recuperado dali. Trabalhe em uma cópia e guarde a exportação intacta ao lado do que você editar.
Por que ainda há arquivos .csv nos discos em 2026
O CSV sobreviveu aos sistemas que o produziam porque era a saída de emergência. Bancos oferecem extratos em CSV, programas antigos de contabilidade e de cadastro de associados exportam seus registros assim, instrumentos de laboratório e registradores de dados o gravam, e décadas de migrações de bancos de dados passaram por ele. Muitos desses arquivos hoje são arquivos legados: exportações de softwares que não funcionam mais, gravadas em uma página de código antiga, com pontos e vírgulas ou vírgulas conforme a configuração do PC, e cheias de CEPs, códigos de peças e identificadores que uma planilha moderna vai reinterpretar em silêncio no primeiro clique duplo.
O Legacy File Converter lista valores separados por vírgulas (.csv) entre as planilhas na página Tipos de arquivo compatíveis e os converte no seu próprio PC com Windows para XLSX, PDF, Markdown ou HTML; nada é enviado, o que importa quando a exportação contém dados bancários ou de associados. Depois, confira com o arquivo original colunas como CEPs, identificadores longos e datas. Para outras formas antigas de trocar dados entre planilhas, veja Lição de história: O que é um arquivo .dif? e Lição de história: O que é um arquivo .slk?; para a pasta de trabalho binária da história da COVID-19, veja Lição de história: O que é um arquivo .xls?.
Leituras relacionadas
Pronto para abrir os seus ficheiros antigos?
Comece gratuitamente e depois desbloqueie as conversões ilimitadas com uma licença Standard de $79.95 em pagamento único. Transfira o instalador para Windows — todas as funcionalidades para até 10 ficheiros.
Avaliação gratuita
Todas as funcionalidades da aplicação · até 10 ficheiros
Windows 10 ou 11
Avaliação gratuita — converta até 10 ficheiros. Transfira o instalador para Windows e converta localmente no seu PC.
Instalador direto para Windows · MSI offline
É seguro? — editor, instalador e ajuda com o SmartScreen
Requer Windows 10 ou 11. Sem subscrições.