Filtrar CPFs válidos em um arquivo pode ser uma tarefa demorada e propensa a erros manuais, especialmente quando se lida com grandes volumes de dados. Utilizar um script automatizado não apenas garante precisão, mas também economiza tempo valioso. O método apresentado aqui é eficaz, pois valida cada CPF de acordo com o algoritmo oficial brasileiro, eliminando entradas inválidas de forma rápida e confiável.
Primeiro, crie um arquivo Python chamado valida_cpf.py. Este script conterá a função para validar CPFs de acordo com o algoritmo brasileiro, que verifica os dígitos verificadores.
def valida_cpf(cpf):
cpf = ''.join(filter(str.isdigit, cpf))
if len(cpf) != 11 or cpf == cpf[0] * 11:
return False
soma = sum(int(digit) * (10 - i) for i, digit in enumerate(cpf[:9]))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
soma = sum(int(digit) * (11 - i) for i, digit in enumerate(cpf[:10]))
resto = soma % 11
digito2 = 0 if resto < 2 else 11 - resto
return str(digito1) == cpf[9] and str(digito2) == cpf[10]
def filtra_cpfs_validos(arquivo_entrada, arquivo_saida):
with open(arquivo_entrada, 'r') as f:
cpfs = f.read().splitlines()
cpfs_validos = [cpf for cpf in cpfs if valida_cpf(cpf)]
with open(arquivo_saida, 'w') as f:
f.write('\n'.join(cpfs_validos))
if __name__ == "__main__":
import sys
if len(sys.argv) != 3:
print("Uso: python valida_cpf.py <arquivo_entrada> <arquivo_saida>")
else:
filtra_cpfs_validos(sys.argv[1], sys.argv[2])
Com o script criado, execute-o no terminal, passando o caminho do arquivo de entrada (contendo os CPFs) e o caminho do arquivo de saída (onde os CPFs válidos serão salvos).
python valida_cpf.py cpfs.txt cpfs_validos.txt
Considere o seguinte arquivo de entrada cpfs.txt:
| CPF (Entrada) | Status (Saída) |
|---|---|
| 12345678909 | Inválido |
| 11144477735 | Válido |
| 98765432100 | Inválido |
| 52998224725 | Válido |
Após executar o script, o arquivo cpfs_validos.txt conterá apenas os CPFs válidos:
11144477735
52998224725
Com este método, você automatiza a tarefa de filtrar CPFs válidos em segundos, evitando erros manuais e garantindo que apenas entradas corretas sejam processadas. A validação baseada no algoritmo oficial brasileiro assegura a confiabilidade dos resultados, tornando este script uma ferramenta essencial para qualquer profissional que lide com dados cadastrais.