PythonArquivosdesafio

Sincronizador de arquivos

Sincronizar arquivos é essencial em sistemas que mantêm dados atualizados entre fontes, como catálogos de produtos ou bases de clientes. Comparar CSVs manualmente é inviável em escala, então automatizar a detecção de novos registros, remoções e alterações economiza tempo e evita erros. Dominar esse padrão permite criar ferramentas de reconciliação de dados sem depender de bibliotecas externas.

O PROBLEMA

Compare dois CSVs e identifique registros novos, removidos e modificados.

EXEMPLO

Novos: 3, Removidos: 1, Modificados: 2

SOBRE O CONCEITO

Para comparar dois CSVs, você precisa identificar cada registro de forma única — geralmente com uma chave primária, como um ID. Sem uma chave, não é possível determinar se um registro foi modificado ou é apenas um novo com dados semelhantes. No código, leia cada arquivo com open() e with, percorra as linhas com for e split() para obter colunas, e armazene em um dicionário onde a chave é o identificador e o valor são os dados. Compare os dicionários: registros no novo mas não no antigo são 'novos'; no antigo mas não no novo são 'removidos'; presentes em ambos com dados diferentes são 'modificados'. O erro comum é ignorar a chave primária e tentar comparar linhas por posição, o que quebra quando a ordem ou quantidade de linhas muda.

RESOLUÇÃO

Mais exercícios de Arquivos

PYAR01B · BásicoEscrever arquivoPYAR02B · BásicoLer arquivoPYAR05B · BásicoContar linhasPYAR09B · BásicoBuscar palavra
Ver todos os exercícios de Python