fixmint
PT

Como limpar um CSV bagunçado: o que checar, na ordem

Por · · 5 min de leitura

Para limpar um CSV bagunçado, corrija em camadas: primeiro os caracteres, depois o layout e, por último, o que cada coluna significa. Um CSV é texto puro, então a maioria dos problemas são caracteres errados, linhas ou separadores a mais, ou valores que um programa lê de forma diferente de como você lê. Corrija os caracteres primeiro. Um espaço escondido pode impedir que uma data seja reconhecida como data, e as correções seguintes falham sem motivo aparente.

Limpador de CSVCSV bagunçado com vazios e cópiasUse de graça

Caracteres que parecem certos e não são

Espaços sobrando. Um espaço no início ou no fim de uma célula, ou dois espaços no meio de um valor, faz com que "Berlim " e "Berlim" sejam dois valores diferentes para uma busca, um filtro ou um join.

Caracteres invisíveis. Alguns caracteres não ocupam espaço na tela:

  • Um espaço sem quebra (U+00A0) parece um espaço normal, mas é outro caractere. Páginas web o usam para manter palavras juntas.
  • Um espaço de largura zero (U+200B) não tem largura nenhuma.
  • Uma marca de ordem de bytes (BOM, U+FEFF) pode ficar no começo do arquivo, antes do primeiro cabeçalho. A coluna parece "id", mas na verdade é "id", então uma busca por "id" falha.

Remover caracteres ocultos mostra o que encontra antes de alterar qualquer coisa.

Letras quebradas. "é" onde você esperaria "é" é um problema de codificação chamado mojibake. O arquivo foi salvo em UTF-8, onde o "é" ocupa dois bytes, e depois lido como Windows-1252, onde esses dois bytes viram duas letras sem relação. Um apóstrofo "’" aparece como "’" do mesmo jeito. A correção é ler o arquivo como UTF-8, ou exportá-lo de novo da origem com UTF-8 selecionado. Reparar um texto que já foi salvo errado é frágil, então guarde o original e trabalhe em uma cópia.

Layout: linhas de título, linhas em branco e duplicatas

Relatórios costumam começar com um título, uma data e uma linha em branco acima do cabeçalho real. Apague tudo acima da linha de cabeçalho, para que a primeira linha tenha os nomes das colunas. Cada coluna precisa de um nome, e nenhum nome pode estar vazio.

Cada linha deve ter o mesmo número de campos. Uma vírgula solta dentro de um valor que não está entre aspas adiciona um campo, e todos os valores depois dela passam uma coluna para a direita. Conte os campos de cada linha. Uma linha com contagem diferente está quebrada.

As duplicatas vêm em dois tipos. Linhas idênticas em todas as colunas geralmente surgem de exportar ou colar duas vezes, e podem ser removidas com segurança. Linhas que têm a mesma chave mas diferem em outras colunas podem ser atualizações. Apagar a errada pode eliminar a versão mais recente, então confira antes.

Datas: 03/04/2026 pode ser dois dias diferentes

03/04/2026 é 3 de abril em um país e 4 de março em outro, e o texto não diz qual. Olhe as outras datas da mesma coluna. Se algum primeiro número for maior que 12, a coluna está no formato dia-primeiro. Se algum segundo número for maior que 12, está no formato mês-primeiro. Se todos os valores tiverem os dois números até 12, o arquivo não tem como informar, e você deve perguntar ao sistema de origem. O verificador de tipo de dados marca essa coluna como ambígua em vez de adivinhar.

Depois de saber a ordem, converta todas as datas para ISO 8601, a forma ano-mês-dia, como 2026-04-03. Ela não deixa dúvida e ordena corretamente como texto. Converta formatos misturados um a um, porque uma coluna com os dois estilos será lida de forma inconsistente pela maioria dos programas.

Números armazenados como texto

Um número fica armazenado como texto quando tem sinal de moeda, sinal de porcentagem ou um espaço dentro dele, como "€ 12", "45%" ou "1 234" com um espaço sem quebra. Separadores de milhar, como em "1,234.50", muitas vezes também fazem um programa ler o valor como texto. Uma planilha alinha números em texto à esquerda, e as somas os ignoram.

A vírgula decimal é a armadilha. Em "1.234,50" a vírgula é o separador decimal, e o ponto agrupa os milhares. Em "1,234.50" é o contrário. Assim, "1,234" pode ser 1234 em uma exportação e 1.234 em outra. Descubra a configuração regional (locale) da origem antes de converter, depois remova os separadores de milhar e troque a vírgula decimal por ponto.

Zeros à esquerda se perdem

Códigos postais, códigos de produto e números de conta costumam começar com zeros. Quando um CSV abre em uma planilha, "01234" é lido como o número 1234, e os zeros somem. Salvar o arquivo mantém a perda, então o sistema de origem é a única cópia confiável.

Um identificador é texto, mesmo quando parece número, porque você nunca faz contas com ele. Não converta essas colunas em número ao limpe o CSV, e abra o arquivo de novo a partir da origem, em vez de uma cópia que uma planilha tenha salvo. Verifique o tipo de dados de cada coluna depois, para que uma coluna de código postal não volte a virar número sem aviso. O Excel também pode alterar valores ao abrir um CSV, então confira o resultado em uma visualização de texto puro.

Verifique os tipos e depois o perfil

Depois da limpeza, confira o tipo de cada coluna. Um único "N/A" em uma coluna de preços transforma a coluna inteira em texto, e a soma sai errada. O verificador de tipo de dados atribui a cada coluna um tipo e uma pontuação de confiança, e lista as células que não se encaixam.

Em seguida, faça o perfil das colunas. O perfil de colunas CSV mostra lacunas e valores atípicos em cada coluna. Um valor atípico pode ser um dado real ou um erro, como um preço mil vezes maior que os demais, o que costuma vir de um ponto ou separador decimal no lugar errado.

Casos especiais

  • Quebras de linha dentro de aspas. Um valor entre aspas pode conter uma quebra de linha. Uma ferramenta que divide o arquivo por linhas parte essa linha em duas, então use um leitor que entenda campos entre aspas.
  • Arquivos com ponto e vírgula. Muitas planilhas europeias salvam CSV com ponto e vírgula, porque a vírgula é o separador decimal na configuração regional delas. Confira o separador antes de ler as colunas.
  • Guarde o original. Grave o resultado limpo em um novo arquivo e mantenha a exportação como veio.

A ordem, em forma de checklist

  1. Guarde uma cópia da exportação original.
  2. Remova espaços sobrando e caracteres invisíveis. Corrija as letras quebradas na origem, se possível.
  3. Apague as linhas de título, confira os nomes do cabeçalho e confirme que cada linha tem o mesmo número de campos.
  4. Encontre as duplicatas e decida qual versão manter.
  5. Converta as datas para ano-mês-dia, remova os separadores e deixe os identificadores como texto.
  6. Confira o tipo de cada coluna e depois faça o perfil dela, procurando lacunas e valores atípicos.

Respostas rápidas

Por que minha busca falha se os valores parecem idênticos?

Geralmente há um espaço, um espaço sem quebra ou uma marca de ordem de bytes em uma das células. Remova os caracteres ocultos e tente de novo.

Por que minhas datas mudam para outra coisa?

Um programa leu uma data dia-primeiro ou mês-primeiro na ordem errada, ou converteu o texto para o formato de data dele. Converta as datas você mesmo antes, para ano-mês-dia.

Traduzido do Original em inglês com auxílio de IA.

Comentários

    Ainda não há comentários. Seja o primeiro.

    Sua nota (opcional)

    Seu e-mail nunca é exibido nem guardado.

    Capa de Open Data for AGI - Why Public, Free, and Open Datasets MatterOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    Por que conjuntos de dados públicos, gratuitos e abertos vão moldar a inteligência artificial geral tanto quanto os algoritmos e a capacidade de computação.

    $4.99Compre na GumroadEm inglês