Validar CPFs em uma planilha pode ser uma tarefa demorada e propensa a erros quando feita manualmente. Este método automatizado usando Python e a biblioteca pandas é a forma mais rápida e confiável de processar uma coluna inteira, independentemente de sua posição ou nome.
pip install pandas)Primeiro, importe as bibliotecas pandas para manipulação de dados e openpyxl para leitura de arquivos Excel.
import pandas as pd
from openpyxl import load_workbook
Carregue o arquivo Excel e identifique a coluna que contém os CPFs. O código abaixo lê o arquivo e exibe os nomes das colunas disponíveis.
df = pd.read_excel('planilha.xlsx')
print(df.columns)
A função abaixo valida o CPF usando o algoritmo padrão dos dígitos verificadores. Ela retorna True para CPFs válidos e False para inválidos.
def validar_cpf(cpf):
cpf = str(cpf).replace('.', '').replace('-', '').replace(' ', '')
if len(cpf) != 11 or not cpf.isdigit():
return False
if cpf in ['00000000000', '11111111111', '22222222222', '33333333333', '44444444444',
'55555555555', '66666666666', '77777777777', '88888888888', '99999999999']:
return False
def calculo_digitos(cpf, digitos):
soma = 0
for i, num in enumerate(digitos):
soma += int(cpf[i]) * num
resto = soma % 11
return 0 if resto < 2 else 11 - resto
digitos = range(10, 1, -1)
d1 = calculo_digitos(cpf, digitos)
digitos = range(11, 2, -1)
d2 = calculo_digitos(cpf, digitos)
return d1 == int(cpf[9]) and d2 == int(cpf[10])
Selecione a coluna que contém os CPFs (substitua 'coluna_cpf' pelo nome real da coluna) e aplique a função de validação.
df['cpf_valido'] = df['coluna_cpf'].apply(validar_cpf)
Salve a planilha com uma nova coluna indicando quais CPFs são válidos.
df.to_excel('planilha_validada.xlsx', index=False)
| coluna_cpf | cpf_valido |
|---|---|
| 123.456.789-09 | False |
| 529.982.247-25 | True |
| 111.111.111-11 | False |
| 765.432.109-18 | True |
Com este script Python, você pode validar centenas de CPFs em segundos, garantindo precisão e eliminando a necessidade de verificação manual. O método é flexível o suficiente para funcionar com qualquer coluna de sua planilha, tornando-o uma ferramenta indispensável para processamento de dados em larga escala.