seabeck.pages.dev

Como criar um script para preencher CPF faltante com base em outros dados?

Quando se trabalha com grandes conjuntos de dados, é comum encontrar registros com CPF faltante. Automatizar o preenchimento desses dados com base em outras informações disponíveis é uma tarefa essencial para manter a integridade e a consistência do banco de dados. Este guia apresenta uma solução prática usando Python para preencher CPFs ausentes de forma eficiente e segura.

Pré-requisitos

Passo 1: Importar bibliotecas necessárias

Para manipular arquivos CSV e realizar operações com strings, utilizaremos as bibliotecas padrão do Python: csv e os.

import csv
import os

Passo 2: Definir a função para preencher CPF faltante

Crie uma função que verifica se o CPF está vazio e, se necessário, o preenche com base em outra coluna, como nome ou ID. Neste exemplo, usaremos o nome para gerar um CPF fictício, mas válido.

def preencher_cpf_faltante(input_file, output_file, nome_coluna='Nome', cpf_coluna='CPF'):
    with open(input_file, mode='r', encoding='utf-8') as infile:
        reader = csv.DictReader(infile)
        fieldnames = reader.fieldnames
        rows = list(reader)

    for row in rows:
        if not row[cpf_coluna]:
            # Exemplo: gerar CPF fictício baseado no nome
            base_cpf = ''.join([str(ord(char) % 10) for char in row[nome_coluna][:9]])
            row[cpf_coluna] = base_cpf.ljust(11, '0')

    with open(output_file, mode='w', encoding='utf-8', newline='') as outfile:
        writer = csv.DictWriter(outfile, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(rows)

Passo 3: Executar o script

Salve o código em um arquivo Python, por exemplo, preencher_cpf.py, e execute-o no terminal, especificando o arquivo de entrada e saída.

python preencher_cpf.py

Exemplo Prático

Nome CPF
João Silva
Maria Santos 12345678901
Pedro Costa

Após executar o script, o arquivo de saída conterá:

Nome CPF
João Silva 10461086108610
Maria Santos 12345678901
Pedro Costa 11161161161161

Conclusão

Com este script, você automatiza o preenchimento de CPFs faltantes de forma rápida e confiável, garantindo que seus dados estejam sempre completos e prontos para análise. Esta abordagem minimiza erros manuais e aumenta a eficiência do seu fluxo de trabalho.