Comparador de diferenças CSV

Compare dois arquivos CSV e veja instantaneamente as linhas adicionadas, removidas e as células alteradas. Escolha qualquer coluna como chave para casar linhas, veja os valores antes e depois lado a lado, e compare até CSVs com colunas diferentes. Tudo processado no seu navegador.

O que é o comparador de diferenças CSV

O comparador de diferenças CSV é uma ferramenta que confronta duas fontes de dados CSV (ou TSV) coluna por coluna e linha por linha, identificando automaticamente as "linhas adicionadas", as "linhas removidas" e as "células cujo valor mudou". Um diff de texto tradicional, como o usado pelo Git, só consegue determinar se uma linha inteira foi adicionada ou removida. Esta ferramenta, em vez disso, associa as linhas por meio de uma coluna-chave (equivalente a um ID ou chave primária) e depois compara cada célula individualmente, permitindo identificar com precisão exatamente qual coluna mudou dentro de uma mesma linha.

Os dados CSV inseridos são processados inteiramente em JavaScript no navegador e nunca são enviados a nenhum servidor. Isso torna a ferramenta segura para comparar informações sensíveis, como dados de clientes ou registros de vendas, sem risco de exposição externa. Outra característica importante é que a comparação funciona mesmo quando os dois CSVs têm colunas em ordens diferentes ou em quantidades diferentes: as colunas são casadas automaticamente pelo nome do cabeçalho, e não pela posição em que aparecem.

Como usar o comparador de diferenças CSV

  1. Prepare o CSV de origem (A) e o CSV de destino (B) Cole diretamente na caixa da esquerda o CSV da versão anterior e, na caixa da direita, o CSV da versão atualizada. Também é possível carregar arquivos CSV ou TSV usando o botão "Selecionar arquivo" em vez de colar o texto manualmente.
  2. Escolha o delimitador correto Defina o campo "Delimitador" como vírgula para arquivos CSV tradicionais, ou como tabulação caso esteja trabalhando com um arquivo TSV separado por tabulações.
  3. Indique se existe linha de cabeçalho Marque a opção "Tratar a primeira linha como cabeçalho" se a primeira linha contiver os nomes das colunas. Se os dados não tiverem cabeçalho, deixe a opção desmarcada e a ferramenta atribuirá automaticamente nomes sequenciais como col1, col2 e assim por diante.
  4. Selecione a coluna-chave No menu suspenso, escolha a coluna que identifica cada linha de forma única (normalmente um ID ou chave primária). É com base nos valores dessa coluna que as linhas de A e B serão associadas entre si.
  5. Analise o resultado da comparação As seções "Linhas removidas", "Linhas adicionadas" e "Linhas alteradas" são exibidas automaticamente. Para cada linha alterada, os valores anteriores e posteriores de cada coluna afetada aparecem lado a lado, facilitando a identificação exata da mudança.

Dicas para aproveitar melhor

  • A coluna-chave usa por padrão a primeira coluna, mas se seus dados tiverem uma coluna de ID ou chave primária, selecione-a: as linhas continuarão sendo casadas corretamente mesmo que a ordem ou a quantidade mude.
  • Se nenhum dos CSVs tiver linha de cabeçalho, desmarque "Tratar a primeira linha como cabeçalho" para comparar usando nomes automáticos como col1, col2 etc.
  • A seção "Linhas alteradas" compara coluna por coluna as linhas correspondentes e lista apenas as colunas que diferem, no formato "antes para depois".
  • Arquivos TSV (separados por tabulação) também funcionam: basta mudar o delimitador para "Tabulação" e colar os dados como estão.
  • Em vez de enviar um arquivo, você pode colar um intervalo copiado diretamente do Excel ou do Google Sheets, e a comparação funcionará igualmente bem.

Casos de uso do comparador de diferenças CSV

Verificação antes e depois de atualizar dados mestres

Exporte o cadastro de produtos ou de clientes em CSV antes e depois de um processo de atualização, e compare os dois arquivos para confirmar que nenhuma alteração indesejada foi introduzida por engano.

Reconciliação de dados em migrações de sistema

Compare o CSV exportado do sistema antigo com o CSV exportado do novo sistema para confirmar que nenhum registro foi perdido ou duplicado durante o processo de migração, um passo essencial de reconciliação de dados.

Validação de resultados de processos em lote

Exporte uma tabela em CSV antes e depois de executar uma rotina em lote diária ou mensal, e verifique se apenas as linhas esperadas foram adicionadas ou atualizadas conforme planejado.

Detecção de alterações em planilhas compartilhadas

Cole trechos copiados do Excel ou do Google Sheets nos dois campos de entrada para identificar rapidamente o que foi modificado por outra pessoa em um documento de edição colaborativa.

Monitoramento de diferenças em dados de API ou web scraping

Converta em CSV os dados obtidos periodicamente de uma API e compare os arquivos dia após dia para acompanhar exatamente quando um preço, uma quantidade em estoque ou outro valor específico sofreu alteração.

Glossário do comparador de diferenças CSV

Coluna-chave
É a coluna usada para identificar cada linha de forma única, geralmente equivalente a um ID ou a uma chave primária. Ao especificá-la, as linhas correspondentes continuam sendo casadas corretamente mesmo que a ordem das linhas mude entre os dois arquivos.
Linha de cabeçalho
É a primeira linha de um arquivo CSV, que indica o nome de cada coluna. Quando a opção "Tratar a primeira linha como cabeçalho" está ativada, essa linha é excluída da comparação de diferenças e passa a ser usada apenas como nome das colunas.
Delimitador
É o caractere usado para separar os valores de cada célula em um arquivo CSV. O padrão é a vírgula, mas arquivos TSV, separados por tabulação, podem ser comparados exatamente pelo mesmo mecanismo.
Lista combinada de colunas
É a lista de nomes de colunas resultante da junção dos cabeçalhos do CSV de origem (A) e do CSV de destino (B). Ela é construída seguindo a ordem das colunas de A e acrescentando ao final as colunas que existem apenas em B. Uma coluna presente em apenas um dos arquivos é tratada como valor vazio no outro durante a comparação.
Célula alterada
É uma célula cujo valor difere entre duas linhas que compartilham a mesma chave, ao comparar coluna por coluna. Nesses casos, o valor anterior (A) e o valor posterior (B) são exibidos lado a lado para facilitar a análise.
Linha sem alteração
É uma linha presente tanto na origem quanto no destino, cujos valores em todas as colunas coincidem exatamente. Essas linhas não aparecem na lista de diferenças; apenas a sua quantidade total é exibida no resumo.

Perguntas frequentes

É comumente usado para comparar dados mestres exportados antes e depois de uma atualização, ou para verificar a consistência dos dados antes e depois de uma migração de sistema. Mesmo com CSVs grandes, é possível identificar imediatamente as linhas adicionadas, removidas ou alteradas, economizando muito mais tempo do que uma comparação visual linha a linha.

Sim. As linhas são casadas pelo valor da coluna-chave selecionada, então mesmo que a ordem das linhas seja diferente entre os dois arquivos, linhas com a mesma chave ainda são comparadas corretamente. Se um valor de chave aparecer mais de uma vez, prevalece a linha que aparece por último.

Sim. A comparação é baseada em uma lista combinada de colunas construída a partir dos dois cabeçalhos, então as colunas são casadas pelo nome mesmo que a ordem seja diferente. Uma coluna que existe somente em um dos arquivos é tratada como valor vazio no outro ao calcular a diferença.

Não. Todo o processamento de comparação ocorre inteiramente em JavaScript no seu navegador, e o conteúdo inserido ou enviado nunca é transmitido a nenhum servidor, tornando o uso seguro mesmo com dados sensíveis.

Sim. Os valores das células são comparados como strings exatas, então diferenças de maiúsculas/minúsculas ou espaços extras no início/fim são sinalizadas como alterações. Se quiser ignorar esse tipo de diferença de formatação, normalize seus dados antecipadamente.
Tool-kun

Curiosidade — Por que um diff de texto sozinho não basta para arquivos CSV

Comparar dois arquivos CSV tradicionalmente significava colocar duas planilhas lado a lado no Excel, ou executar um diff de texto baseado em linhas com uma ferramenta como o Git. Mas como cada linha de um CSV agrupa vários valores separados por vírgulas, um diff baseado em linhas só informa que "a linha mudou", sem indicar qual coluna especificamente foi alterada. Esta ferramenta identifica diferenças no nível da célula justamente para preencher essa lacuna.

Em sistemas corporativos, exportar tabelas de banco de dados para CSV a fim de compará-las — frequentemente chamado de reconciliação de dados — é uma tarefa rotineira. Verificar se os dados coincidem exatamente antes e depois de uma migração, ou conferir se um processo em lote mensal produziu o resultado esperado, costuma envolver milhares ou até dezenas de milhares de linhas. Nessa escala, casar linhas mecanicamente por uma coluna-chave torna-se essencial.

Os algoritmos de diff usados por sistemas de controle de versão como o Git (como o algoritmo de Myers) são excelentes na detecção de adições e remoções no nível de linha, mas nem sempre são ideais para dados CSV em que "a mesma linha" pode ter apenas um ou dois valores de coluna alterados. Casar linhas por chave e depois comparar célula por célula, como faz esta ferramenta, é uma abordagem criada especificamente para dados tabulares.