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
- 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.
- 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_ideline. - 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úsculas | Desk Lamp é igual a desk lamp. Vale para as colunas-chave e para os valores. |
|---|---|
| Ignorar espaços extras | Remove 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érica | Quando 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 ignorar | Colunas 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.
change | added (incluída), removed (removida) ou changed (alterada). |
|---|---|
| Colunas-chave | O 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_row | Números das linhas de dados em cada arquivo; vazio no lado em que a linha não existe. |
column, original_value, updated_value | Uma 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
00123contra123ou 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.00e45.0são textos diferentes; informe uma tolerância como0ou0.005para 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.
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
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.