seabeck.pages.dev

Como verificar CPF em modo offline com lista de exceções?

Verificar CPFs em modo offline com uma lista de exceções é uma tarefa crítica para empresas que precisam validar documentos sem depender de serviços online. Este método oferece uma solução robusta e autônoma, garantindo a validade dos dados mesmo sem conexão com a internet.

Pré-requisitos

Passo 1: Criar o script de validação

O primeiro passo é criar um script Python que valide os CPFs de acordo com o algoritmo oficial. Este script também deve ser capaz de ler a lista de exceções e ignorar os CPFs que estiverem nessa lista.

import csv

def validar_cpf(cpf):
    cpf = ''.join(filter(str.isdigit, cpf))
    if len(cpf) != 11:
        return False
    if cpf == cpf[0] * 11:
        return False
    # Algoritmo de validação do CPF
    soma = sum(int(digit) * (10 - i) for i, digit in enumerate(cpf[:9]))
    resto = (soma * 10) % 11
    if resto == 10 or resto == 11:
        resto = 0
    if resto != int(cpf[9]):
        return False
    soma = sum(int(digit) * (11 - i) for i, digit in enumerate(cpf[:10]))
    resto = (soma * 10) % 11
    if resto == 10 or resto == 11:
        resto = 0
    return resto == int(cpf[10])

def verificar_cpfs(cpfs, excecoes):
    validos = []
    for cpf in cpfs:
        if cpf in excecoes:
            continue
        if validar_cpf(cpf):
            validos.append(cpf)
    return validos

# Lendo os arquivos CSV
with open('cpfs.csv', 'r') as f:
    reader = csv.reader(f)
    cpfs = [row[0] for row in reader]

with open('excecoes.csv', 'r') as f:
    reader = csv.reader(f)
    excecoes = [row[0] for row in reader]

# Verificando os CPFs
cpfs_validos = verificar_cpfs(cpfs, excecoes)

# Salvando os CPFs válidos em um novo arquivo CSV
with open('cpfs_validos.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    for cpf in cpfs_validos:
        writer.writerow([cpf])

Passo 2: Executar o script

Após criar o script, execute-o no terminal para processar os CPFs. Certifique-se de que os arquivos CSV estejam no mesmo diretório que o script.

python verificar_cpfs.py

Exemplo Prático

CPF Válido? Exceção? Resultado
12345678909 Não Não Inválido
11111111111 Não Sim Exceção
01234567890 Sim Não Válido

Conclusão

Com este método, você automatiza a verificação de CPFs em modo offline, garantindo a integridade dos dados e a conformidade com as exceções definidas. Este script Python é uma ferramenta poderosa para empresas que precisam de uma solução confiável e autônoma para validação de documentos.