catbean.pages.dev

Como exportar resultados de validação de CPF para JSON?

Validar CPFs manualmente e exportar os resultados pode ser uma tarefa tediosa e propensa a erros. Com este método, você automatiza todo o processo usando Python, garantindo precisão e rapidez na geração de um arquivo JSON com todos os dados validados.

Pré-requisitos

Passo 1: Criar script de validação de CPF

Primeiro, vamos criar uma função para validar CPFs usando o algoritmo padrão. Este script verifica os dígitos verificadores e valida o formato.

def validar_cpf(cpf: str) -> bool:
    cpf = ''.join(filter(str.isdigit, cpf))
    if len(cpf) != 11 or cpf == cpf[0] * 11:
        return False
    def calcular_digito(cpf, digitos):
        soma = sum(int(digito) * (digitos - i) for i, digito in enumerate(cpf[:digitos]))
        resto = soma % 11
        return 0 if resto < 2 else 11 - resto
    d1 = calcular_digito(cpf, 9)
    d2 = calcular_digito(cpf, 10)
    return d1 == int(cpf[9]) and d2 == int(cpf[10])

Passo 2: Ler CPFs e validar

Agora, vamos ler uma lista de CPFs e aplicar a função de validação a cada um deles.

import json

def validar_cpfs(cpfs):
    resultados = []
    for cpf in cpfs:
        valido = validar_cpf(cpf)
        resultados.append({
            "cpf": cpf,
            "valido": valido
        })
    return resultados

Passo 3: Exportar resultados para JSON

Por fim, exportamos os resultados para um arquivo JSON. Este arquivo pode ser facilmente integrado com outras ferramentas ou APIs.

def exportar_json(resultados, arquivo):
    with open(arquivo, 'w') as f:
        json.dump(resultados, f, indent=4)

# Exemplo de uso
cpfs = ["12345678909", "11111111111", "40442820135"]
resultados = validar_cpfs(cpfs)
exportar_json(resultados, "resultados_validacao.json")

Exemplo Prático

CPF de Entrada Válido
12345678909 false
11111111111 false
40442820135 true

Conclusão

Com este método, você automatiza a tarefa de validação e exportação de CPFs em segundos, evitando erros manuais e garantindo a integridade dos dados para uso em sistemas ou relatórios.