CEPs inválidos são um problema comum em bases de dados e podem comprometer a qualidade das análises e entregas. Com um script simples em Python, é possível automatizar a validação e limpeza desses registros, garantindo que apenas CEPs válidos permaneçam na sua base.
Primeiro, crie um arquivo Python chamado limpar_cep.py. Este script lerá o CSV, validará os CEPs e salvará uma nova base limpa.
import pandas as pd
def validar_cep(cep):
cep = str(cep).strip().replace('-', '')
if len(cep) == 8 and cep.isdigit():
return cep
return None
def limpar_base(input_file, output_file):
df = pd.read_csv(input_file)
df['CEP'] = df['CEP'].apply(validar_cep)
df.dropna(subset=['CEP'], inplace=True)
df.to_csv(output_file, index=False)
print(f"Base limpa salva em {output_file}")
if __name__ == "__main__":
import sys
if len(sys.argv) != 3:
print("Uso: python limpar_cep.py input.csv output.csv")
else:
limpar_base(sys.argv[1], sys.argv[2])
Com o script criado, execute-o no terminal passando o arquivo de entrada e o desejado de saída.
python limpar_cep.py base_com_cep.csv base_limpa.csv
Abra o arquivo base_limpa.csv para confirmar que apenas CEPs válidos foram mantidos. Registros com CEPs inválidos ou vazios foram removidos automaticamente.
| Entrada (base_com_cep.csv) | Saída (base_limpa.csv) |
|---|---|
| CEP | CEP |
| 12345678 | 12345678 |
| 12345-678 | 12345678 |
| 1234567 | (removido) |
| ABCDEFG | (removido) |
| (removido) |
Com este script, você automatiza a limpeza de CEPs inválidos em segundos, garantindo a integridade da sua base de dados e evitando erros em processos futuros.