Ir para a ferramenta
ViewCSV
Sem upload de arquivos

Comparar arquivos CSV

Arquivo original
orders.csv· DADOS DE EXEMPLO15 linhas · 8 colunas
Arquivo atualizado
orders-updated.csv· DADOS DE EXEMPLO15 linhas · 8 colunas
Parear linhas
Colunas-chave
Colunas que identificam a linha nos dois arquivos, como o número do pedido.
Colunas a ignorar
  • Linhas: 1 incluídas, 1 removidas, 2 alteradas e 12 sem alteração. Valores alterados: 2.
  • 1 chave aparece mais de uma vez (a primeira: 001043). As repetições são pareadas em ordem.
  • Alterada001042linha 2 do original linha 2 do atualizado
    statusrefundedshipped
  • Alterada001044linha 4 do original linha 4 do atualizado
    quantity112
  • Removida001046linha 6 do original
  • Incluída001099 linha 15 do atualizado

O download tem uma linha para cada valor alterado, além das linhas incluídas e removidas.

Abra o arquivo original e o arquivo atualizado, escolha a coluna que identifica cada linha, como o número do pedido ou o SKU, e as diferenças aparecem na hora: linhas que só existem no arquivo atualizado são incluídas, linhas que só existem no original são removidas, e linhas presentes nos dois com valores diferentes são alteradas, com o valor de antes e o de depois. As linhas podem mudar de lugar no arquivo sem contar como alteração. Baixe o resultado como um relatório CSV com uma linha para cada célula alterada. Os dois arquivos são comparados no seu navegador e nunca enviados a um servidor.

Como comparar dois arquivos CSV

  1. Abra o arquivo original no primeiro campo e o atualizado no segundo. Cada campo tem as próprias configurações de importação para delimitador, cabeçalho e codificação, então dá para comparar uma exportação com ponto e vírgula e outra com vírgula.
  2. Pareie as linhas por colunas-chave e marque uma ou mais colunas entre as que os dois arquivos têm em comum. Use várias colunas quando nenhuma sozinha for única, como order_id e line.
  3. Ajuste as opções de comparação, confira o resumo e a lista de diferenças (filtrada por incluídas, removidas ou alteradas, se quiser) e baixe o relatório de alterações.

Pareie pela posição da linha quando os arquivos não têm coluna de ID e você sabe que as linhas estão na mesma ordem: a linha 1 é comparada com a linha 1, e assim por diante. Nesse modo, uma única linha inserida faz todas as seguintes parecerem alteradas, então use uma chave sempre que tiver uma.

Opções de comparação

Ignorar maiúsculas e minúsculasDesk Lamp é igual a desk lamp. Vale para as colunas-chave e para os valores.
Ignorar espaços extrasRemove espaços nas duas pontas e trata qualquer sequência de espaços, tabulações ou quebras de linha dentro de um valor como um único espaço antes de comparar. Também vale para as chaves.
Tolerância numéricaQuando os dois valores são números, eles contam como iguais se a diferença for no máximo esse valor, como 0.01. A conta é feita em decimal exato, não em ponto flutuante, e uma tolerância de 0 trata 45.0 e 45.00 como o mesmo número. Só são números os valores escritos com ponto decimal e sem separador de milhar: 1,000 continua texto, enquanto 1e3 é lido como 1000. Uma tolerância também torna 007 igual a 7, já que os dois são lidos como números. Deixe o campo vazio para comparar o texto exatamente. Atenção: valores no formato brasileiro, como 1.234,56, são comparados como texto.
Colunas a ignorarColunas que ficam totalmente de fora da comparação, como updated_at ou um carimbo de data e hora da exportação que muda toda vez.

Colunas que existem em só um dos arquivos são listadas no resumo e não são comparadas. Se for a mesma coluna com outro nome, renomeie-a em Renomear e reordenar colunas do CSV.

Chaves repetidas e em branco

Uma chave deveria identificar uma única linha. Quando isso não acontece, nada fica escondido: o resumo conta as chaves repetidas e mostra a primeira delas, e as linhas que compartilham uma chave são pareadas pela ordem em que aparecem. A primeira linha do original com a chave 1 é comparada com a primeira linha do atualizado com a chave 1, a segunda com a segunda, e as linhas que sobrarem de qualquer lado entram como removidas ou incluídas.

Esse pareamento pode apontar como alteração o que, na verdade, é só a troca de ordem de duas linhas com a mesma chave. Se o resumo mencionar chaves repetidas, acrescente outra coluna-chave até cada combinação ser única. Linhas com todas as colunas-chave vazias são contadas à parte, porque costumam vir de linhas em branco ou de uma exportação com defeito.

Como ler os resultados e o relatório

O resumo informa o número de linhas incluídas, removidas, alteradas e sem alteração, além do total de células alteradas. A lista mostra as diferenças na ordem do arquivo original, seguidas das linhas que só existem no atualizado. Cada item mostra a chave e o número da linha em cada arquivo, contando as linhas de dados a partir de 1, sem o cabeçalho. A página lista as primeiras 500 diferenças; o relatório traz todas.

changeadded (incluída), removed (removida) ou changed (alterada).
Colunas-chaveO valor da chave. Com as opções de ignorar maiúsculas ou espaços ativadas, a chave aparece como foi comparada, em minúsculas ou sem os espaços. No pareamento por posição, uma única coluna row traz o número da linha.
original_row, updated_rowNúmeros das linhas de dados em cada arquivo; vazio no lado em que a linha não existe.
column, original_value, updated_valueUma linha para cada célula alterada. Ficam vazias nas linhas incluídas e removidas, que ocupam uma linha cada.

O relatório é um CSV em UTF-8 com o nome do arquivo atualizado, por exemplo feb-changes.csv. Abra-o no Visualizador de CSV para ordenar ou pesquisar as alterações.

Por que as linhas aparecem como incluídas, removidas ou alteradas

  • Todas as linhas aparecem como incluídas e removidas. Os valores da chave estão escritos de jeitos diferentes nos dois arquivos, por exemplo 00123 contra 123 ou com um espaço no fim. Ative a opção de ignorar espaços extras ou corrija a coluna em Limpar dados do CSV. Zeros à esquerda sempre contam nas chaves, porque elas são comparadas como texto.
  • Números iguais aparecem como alterados. 45.00 e 45.0 são textos diferentes; informe uma tolerância como 0 ou 0.005 para compará-los como números. Números com vírgula decimal ou separador de milhar são sempre comparados como texto.
  • Uma coluna-chave não aparece na lista. Só colunas presentes nos dois arquivos podem ser chaves, e os nomes precisam ser idênticos. Confira as configurações de importação se o cabeçalho inteiro chegou como uma coluna só.
  • Todas as linhas a partir de certo ponto estão alteradas. Você está pareando por posição e uma linha foi inserida ou excluída. Mude para o pareamento por colunas-chave.

Limites da comparação e privacidade

Cada arquivo pode ter até 25 MB, 100.000 linhas, 250 colunas e 2 milhões de células. A comparação não funciona em streaming: os dois arquivos ficam na memória, e as diferenças se atualizam conforme você muda as opções.

Os arquivos são comparados no seu navegador e nunca enviados a um servidor. Para juntar as duas versões em vez de compará-las, use Juntar ou cruzar arquivos CSV; para conferir um arquivo contra regras, use Validar CSV.

Exemplo: duas listas de produtos com o SKU como chave

Duas listas de produtos com chave sku, comparadas com as configurações exatas padrão. As linhas estão em outra ordem, o que não faz diferença. Ignorando maiúsculas e espaços e com tolerância de 0.001, sobra só a alteração de stock no item 00456.

CSV
jan.csv (original)
sku,name,price,stock
00123,Desk lamp,19.90,4
00456,Shelf,45.00,2
00789,Stool,12.00,9

feb.csv (updated)
sku,name,price,stock
00456,Shelf,45.0,0
00123,Desk Lamp ,19.90,4
01010,Bench,80.00,1
feb-changes.csv
change,sku,original_row,updated_row,column,original_value,updated_value
changed,00123,1,2,name,Desk lamp,"Desk Lamp "
changed,00456,2,1,price,45.00,45.0
changed,00456,2,1,stock,2,0
removed,00789,3,,,,
added,01010,,3,,,

Perguntas frequentes

A ordem das linhas faz diferença?

Não quando você pareia por chave: as linhas são encontradas pela chave, onde quer que estejam em cada arquivo. A ordem só importa no pareamento pela posição da linha.

Qual arquivo deve ser o original?

O mais antigo. Linhas que só existem no segundo arquivo são apontadas como incluídas, e as que só existem no primeiro, como removidas. Trocar os arquivos inverte essas duas listas e os valores de antes e depois.

Dá para comparar colunas com nomes diferentes?

Só são comparadas as colunas com o mesmo cabeçalho nos dois arquivos, e os dois precisam usar o mesmo nome para cada coluna-chave. Renomeie antes as colunas de um dos arquivos em Renomear e reordenar colunas do CSV.

Padrões e referências