Como remover linhas duplicadas em um CSV
Carregue o arquivo no limpador CSV, corte os espaços em branco FIRST e remova as linhas duplicadas. A primeira ocorrência de cada linha é mantida e as cópias posteriores são removidas, para que a ordem dos dados mantidos não seja alterada.
A ordem dessas duas etapas é o truque. Duas linhas que diferem apenas por um espaço à direita não são duplicadas para um computador; portanto, a desduplicação antes do corte deixa ambas no lugar e, em seguida, relata um trabalho bem executado.
Por que linhas “idênticas” sobrevivem à desduplicação
O corte aborda diretamente o primeiro e o último deles. Os outros precisam de uma decisão sua, e é por isso que não são normalizados silenciosamente – a caixa dobrável, por exemplo, é correta para endereços de e-mail e errada para códigos de produto, e uma ferramenta não pode dizer qual coluna é qual.
- Espaços finais ou iniciais. Invisível em uma planilha, decisivo para uma comparação.
- Diferenças de caso. ann@example.com e Ann@example.com são strings diferentes, embora sejam a mesma caixa de correio.
- Citação diferente. "Smith, John" e Smith\, John podem carregar o mesmo valor e diferir byte por byte antes da análise.
- Espaços ininterruptos. Copiar e colar de uma página da web ou de um PDF frequentemente substitui U+00A0 por um espaço normal e nada parece incomum.
- Uma coluna vazia à direita. Uma exportação grava quatro campos, outra grava quatro campos e um delimitador final.
A ordem que funciona
Cada uma dessas etapas pode ser desfeita separadamente, até as últimas vinte operações, portanto, não há custo para tentar uma e revertê-la.
- Carregue o arquivo e confirme se o delimitador e a contagem de colunas estão corretos. A desduplicação de um arquivo analisado como uma coluna não traz nada de útil.
- Apare os espaços em branco em cada célula.
- Remova as linhas vazias se a exportação as tiver, para que não sejam recolhidas em um único espaço em branco retido.
- Remova linhas duplicadas.
- Verifique a contagem de linhas antes e depois. A diferença é quantas duplicatas havia.
Duplicatas de linha inteira, não chaves duplicadas
Isso remove linhas idênticas em todas as colunas. Isso não é o mesmo que remover linhas que compartilham uma chave.
Se o mesmo cliente aparecer duas vezes com datas de inscrição diferentes, essas linhas não são duplicadas – são dois registros diferentes que compartilham um nome. Remover um seria excluir dados, e a ferramenta não fará isso adivinhando.
Para desduplicar por uma chave, reduza a exportação para as colunas que definem a chave, desduplique-a e use o resultado como uma lista de pesquisa. Ou faça a junção em uma planilha ou banco de dados, que é onde cabe esse tipo de decisão.
Deduplicando uma única coluna de valores
Se o seu problema real for uma lista – endereços de e-mail, SKUs, URLs – em vez de uma tabela, o Text Toolkit é o caminho mais rápido. Ele desduplica linhas, corta-as e classifica-as, e é necessário colar em vez de arquivo.
A mesma regra de ordenação se aplica aqui: cortar primeiro e depois desduplicar.
Exemplo resolvido: uma lista de discussão mesclada de três exportações
Três exportações foram concatenadas em um arquivo 4,812-row com uma coluna Nome, Email e Origem. Alguns contatos aparecem em mais de uma fonte e o arquivo foi montado por copiar e colar, portanto, algumas linhas possuem espaços no final.
A remoção imediata de duplicatas relata 118 removidas – suspeitamente poucas para três listas sobrepostas.
- Desfaça a desduplicação.
- Apare os espaços em branco em cada célula.
- Remova as linhas duplicadas novamente.
- Compare a contagem de linhas com o original.
Resultado: A segunda passagem remove substancialmente mais linhas do que a primeira, porque o corte tornou as duplicatas reais idênticas. As linhas que compartilham um endereço de e-mail, mas diferem na coluna Fonte, ainda estão presentes corretamente – elas não são linhas idênticas, e decidir qual Fonte vence é um julgamento que a ferramenta deixa para você.
Abra a ferramenta
Desduplicar um CSV em seu navegador
Remove linhas idênticas em todas as colunas, mantendo a primeira. Ele não adivinhará qual dos dois registros semelhantes você pretendia manter.
O que isso não cobre
- Somente duplicatas de linha inteira são removidas. A desduplicação por uma coluna-chave não é algo que esta ferramenta faz.
- O caso é significativo. ANN@example.com e ann@example.com são mantidos como duas linhas.
- A primeira ocorrência é mantida. Não há opção de manter o último.
- O arquivo inteiro é mantido na memória, limitado a 50 MB.
- Desfazer está limitado às últimas operações 20.
- Somente as primeiras 100 linhas aparecem na visualização, portanto, confirme os resultados pela contagem de linhas em vez de rolar.