toolsmith

Sem upload · tudo roda no seu navegador

CSV contra Excel — o que muda de verdade

Quase tudo de confuso que acontece com um CSV vem de um fato: o arquivo não faz ideia do que seus valores significam. O Excel adivinha, e é no adivinhar que os dados se estragam.

Atualizado

Um CSV é texto. O formato é isso inteiro.

Um CSV são linhas de caracteres separadas por vírgulas. Não há mais nada — nem tipos de célula, nem fórmulas, nem formatação, nem várias abas, nem larguras de coluna. `007` num CSV são três caracteres, nem número nem texto; o arquivo não diz qual.

Um .xlsx é o oposto: um pacote compactado que registra, para cada célula, que tipo de valor ela guarda e como deve aparecer. Por isso é maior e por isso sobrevive intacto a uma ida e volta.

O que o Excel faz com seus dados ao abrir um CSV

Como o arquivo não declara tipos, o Excel os infere. Os palpites são razoáveis no caso médio e destrutivos em casos específicos:

  • Zeros à esquerda somem. `007` vira `7`. CEPs, números de conta e códigos de peça são as vítimas de sempre.
  • O que parece data vira data. `1-2` vira 2 de janeiro. Isso obrigou geneticistas a renomear genes porque o Excel insistia em transformar SEPT2 numa data.
  • Números longos passam a notação científica e perdem o fim. Um identificador de 16 dígitos volta como `1,23457E+15`, e os dígitos perdidos não voltam mudando o formato depois.
  • E o estrago é salvo quando você salva. O arquivo original estava certo; o que o Excel grava de volta, não.

Por que seu CSV sai com caracteres estranhos ou tudo numa coluna

Dois problemas distintos, ambos sobre suposições que o arquivo não consegue declarar.

A codificação. Um CSV não registra sua codificação de caracteres. O Excel no Windows historicamente assumiu a página de código local em vez de UTF-8, e por isso acentos, coreano e japonês chegam destruídos. Uma marca UTF-8 no início costuma resolver.

O separador. Em países onde a vírgula é o separador decimal, as planilhas escrevem e esperam ponto e vírgula. Abra um arquivo desses em outro lugar e cada linha cai numa única coluna. O arquivo não está quebrado; os dois programas discordam sobre o que uma vírgula significa.

Quando o arquivo é simplesmente grande demais

Uma planilha tem um teto rígido de pouco mais de 1.048.576 linhas, e fica lenta muito antes disso porque carrega tudo na memória para deixar tudo editável.

Passado certo tamanho, o certo é parar de abrir o arquivo e começar a fazer perguntas a ele. Selecione algumas colunas, filtre, agrupe, conte: a resposta sai em segundos sem a máquina tentar desenhar milhões de células que você nunca ia olhar.

Parquet, em resumo

Se o CSV vive te decepcionando, Parquet é para onde o mundo da análise migrou. Guarda os tipos dentro do arquivo, então nada é adivinhado. Guarda por coluna em vez de por linha, então ler três colunas de cinquenta lê mais ou menos três colunas de bytes. E comprime bem — costuma ficar cinco a dez vezes menor que o mesmo CSV.

O preço é não poder abri-lo num editor de texto. É um formato para consultar, não para olhar.

Faça agora, sem enviar nada

Como impedir que o Excel destrua meu CSV?

Não abra com duplo clique. Use Dados → De Texto/CSV, que permite definir a codificação e marcar colunas como texto antes de qualquer conversão. Ou consulte o arquivo diretamente e não deixe planilha nenhuma tocá-lo.

Um CSV é menor que um arquivo do Excel?

Geralmente não, o que surpreende. Um .xlsx é um pacote compactado, e o zip comprime bem texto repetitivo. Um CSV são caracteres sem compressão. O Parquet ganha dos dois com folga.

Dá para consultar um CSV sem banco de dados?

Dá. Nossa ferramenta de dados roda um motor SQL dentro da aba e lê o arquivo direto do seu disco — nada é enviado, e não há servidor nem banco para montar.

Vale a leitura