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.
Para manipular arquivos CSV e realizar operações com strings, utilizaremos as bibliotecas padrão do Python: csv e os.
import csv
import os
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)
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
| 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 |
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.