gershwin.pages.dev

Como filtrar CPFs válidos em um arquivo?

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.

Pré-requisitos

Passo 1: Criar o script de validação

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])

Passo 2: Executar o script

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

Exemplo Prático

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

Conclusão

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.