Validar centenas de CPFs manualmente é uma tarefa tediosa e propensa a erros. Com um script automatizado, você pode processar uma lista completa em segundos, garantindo precisão e economizando tempo valioso. Este método é a solução mais eficiente para quem precisa lidar com grandes volumes de dados de forma rápida e confiável.
O primeiro passo é criar um script Python que implemente o algoritmo de validação de CPF. O algoritmo verifica os dois dígitos verificadores de acordo com as regras da Receita Federal.
def validar_cpf(cpf):
cpf = ''.join(filter(str.isdigit, cpf))
if len(cpf) != 11:
return False
if cpf == cpf[0] * 11:
return False
# Calcular primeiro dígito verificador
soma = sum(int(digit) * (10 - i) for i, digit in enumerate(cpf[:9]))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
# Calcular segundo dígito verificador
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 processar_arquivo(input_file, output_file):
with open(input_file, 'r') as f:
cpfs = f.read().splitlines()
resultados = []
for cpf in cpfs:
if validar_cpf(cpf):
resultados.append(f"{cpf} - VÁLIDO")
else:
resultados.append(f"{cpf} - INVÁLIDO")
with open(output_file, 'w') as f:
f.write("\n".join(resultados))
if __name__ == "__main__":
import sys
if len(sys.argv) != 3:
print("Uso: python validar_cpf.py input.txt output.txt")
else:
processar_arquivo(sys.argv[1], sys.argv[2])
Crie um arquivo TXT simples com um CPF por linha. O script aceita CPFs formatados (com pontos e traço) ou apenas números.
12345678909
11122233344
00000000000
123.456.789-09
Com o arquivo de entrada pronto, execute o script no terminal, passando os caminhos do arquivo de entrada e do arquivo de saída desejado.
python validar_cpf.py cpfs.txt resultados.txt
Veja como o script processa uma lista de CPFs e gera um relatório com os resultados:
| CPF de Entrada | Resultado |
|---|---|
| 12345678909 | INVÁLIDO |
| 11122233344 | VÁLIDO |
| 00000000000 | INVÁLIDO |
| 123.456.789-09 | VÁLIDO |
Com este script Python, você automatiza completamente a validação de CPFs em lote, eliminando erros manuais e processando grandes volumes de dados em questão de segundos. A solução é robusta, fácil de implementar e pode ser adaptada para outras necessidades de validação de dados.