O CEP - Código de Endereçamento Postal, foi criado em maio de 1971 pela Empresa Brasileira de Correios e Telégrafos. Inicialmente era formado por 5 dígitos e cerca de 20 anos depois, em maio de 1992, sua estrutura foi alterada para 8 dígitos, a mesma dos dias atuais.
O mesmo tem por objetivo otimizar a distribuição das encomendas entregues pelos Correios. Com tal endereçamento, torna-se possível uma melhor filtragem das remessas por parte da empresazada junto ao público em geral, com a publicação do Guia Postal Brasileiro, Edição 1992.
.
.
Estrutura
O CEP está configurando segundo o sistema decimal, sendo composto por: região, sub-região, setor, sub-setor, divisor de subsetor e identificadores de distribuição. Abaixo será apresentado graficamente a conceituação anterior:
O Brasil foi dividido em 10 regiões postais de acordo com parâmetros sócio-econômicos e fatos de densidade demográfica de cada região ou conjunto delas. A distribuição ocorre em sentido anti-horário a partir do estado de São Paulo que recebe o primeiro dígito.
Cada região está dividida em 10 sub-regiões e as sub-regiões em outros 10 setores. Tal esquema funciona até o divisor de subsetor, cada grupo é subdividido em 10 subgrupos, restando apenas os três últimos dígitos para identificação de distribuição, conhecido como SUFIXO. Os sufixos se classificam da seguinte forma:
Localidades não codificadas por logradouros (possuem um único CEP):Implentação
Localidades codificadas por logradouros:
- Faixa de Sufixos utilizada: 000 a 999
- Caixas Postais Comunitárias: 990 a 998
- Logradouros: Faixa de Sufixos utilizada: 000 a 899
- Códigos Especiais: Faixa de Sufixos utilizada: 900 a 959
- CEPs Promocionais: Faixa de Sufixos utilizada: 960 a 969
- Unidades dos Correios: Faixa de Sufixos utilizada: 970 a 989 e 999.
- Caixas Postais Comunitárias: Faixa de Sufixos utilizada: 990 a 998
Abaixo segue um código feito em Python, que leva em conta um arquivo texto onde contém todos os CEP's existentes no país para sua respectiva validação.
#!/usr/bin/env python # ZIP CODE # AUTHOR: Jose Mauro da Silva Sandy - http://informacaocomdiversao.blogspot.com # # CONTACT: jmsandy _at_ gmail _dot_ com # # DATE: 2008-12-08 # # More information about ZIP CODE, visit: # http://www.correios.com.br/servicos/cep/cep_estrutura.cfm ################################################################################ import easygui def verify_zip(zip_code): """ Receiving one zip-code for validate. Return one list with adress of zip-code or -1, otherwise. """ # Opening the file responsible to save information the CEP file_cep = open(r'/home/jmsandy/Desktop/cep.txt', 'r') # Receive and format the zip-code for validation find_cep = '"' + str(zip_code) + '"' lines = file_cep.readlines() # Receiving the line to line the file for line in lines: line_dic = line.split(',') # Comparing the zip-code if(line_dic[2] == find_cep): file_cep.close() return line_dic else: file_cep.close() return "-1" # Verifying if the module is been executed like principal code or module if("__main__" == __name__): zip_chosen = easygui.integerbox(msg="Enter the Zip-Code(Only Digits)", \ title="ZIP-CODE",default="", argLowerBound=0, argUpperBound=99999999) # Verify if the desire's user is validate zip-code if(zip_chosen): adress = verify_zip(zip_chosen) if(adress!="-1"): answer = 'RUA: ', adress[5].replace('"',''), '\n', 'BAIRRO: ', \ adress[1].replace('"',''), '\n', 'CIDADE: ', adress[3].replace('"',''),\ '-', adress[9].replace('"','') easygui.codebox(msg="Information", title="Adress", text=answer) else: easygui.msgbox("Zip code invalid.")
José Mauro da Silva Sandy
Leitura Recomendada
- Estrutura do CEP - Conheça mais detalhes sobre a formação do CEP
- Resposta ao algoritmo de Luhn - Algoritmo usado para validação dos números dos cartões de crédito
- Utilizando DLL's no Python com o ctype - Trabalhando com DLL's no Python
16 comentários:
8 de dezembro de 2008 às 19:15
Juro que ia testar o programa, mas quando fui baixar o arquivo zipado e vi ele tem quase 10MB, desanimei... xD
Será que não há um esquema para o CEP semelhante àqueles que eu te mostrei para o Código Internacional de Doenças?! Ficaria mais fácil criar uma aplicação assim usando BD...
[]!
8 de dezembro de 2008 às 19:57
Depois te passo o arquivo pra vc testar, funciona direitim eu garanto.
Kra basta importar o arquivo para uma tabela de BD, vou fazer isso e depois de passo ele em formado de tabela.
Abraço
29 de dezembro de 2008 às 12:32
Esse Txt não tem todas as cidades não
29 de dezembro de 2008 às 12:54
Boa tarde, Lure!!!
Este arquivo consegui em uma das centrais dos correios e já vi muitas aplicações em cima dele.
Não posso de precisar sobre a totalidade das cidades, mas até hoje não deixei de encontrar nenhuma.
Qual cidade você estaria precisando?
Porque pode ser algo relacionado a caixa postal.
Ve ai e me fala.
Abraço.
9 de fevereiro de 2009 às 16:39
Muito bom este programa, parabéns, mas eu estive procurando a cidade Agua Boa (MG) e não encontrei, há alguns cep's que também não existe. Você poderia informar onde conseguiu o arquivo txt e de quando ele é? Att.
10 de fevereiro de 2009 às 00:06
Oi Amandia!
Td bem?
Olha este arquivo é de meados do ano passado. Conseguir o mesmo com um amigo que trabalhava nas agências dos correios. Ele contém os arquivos separados por rua, CEP geral da cidade geralmente não são encontrados. Por exemplo, a minha cidade era 36200-000 e também não consigo achá-la. Agora qualquer CEP de rua da cidade eu encontro o arquivo na sua totalidade não traz CEP's genéricos.
Abraço e obrigado pelo comentário.
10 de fevereiro de 2009 às 09:47
Maurim, obrigada pela atenção e pelo sistema... Valeu por disponibilizar... []'s
13 de julho de 2009 às 13:39
Maurin, boa tarde;
Tentei baixar o arquivo, mas o link não existe mais. Voce pode republicar ?
Obrigado.
13 de julho de 2009 às 13:52
Sergio,
Boa tarde!
Posso sim é claro.
Não poderei colocar agora porque estou no trabalho e não tenho o arquivo aqui para poder subir.
Assim que chegar em casa do trabalho posto com o link corrigido.
Só peço o favor de esperar até a noite.
Abraço.
13 de julho de 2009 às 14:07
Muito obrigado.
13 de julho de 2009 às 21:53
Sérgio,
Link corrigido, basta pegar o arquivo para suas necessidades.
Abraço.
14 de julho de 2009 às 11:54
Maurim;
Mais uma vez muito obrigado. Voce me ajudou muito.
19 de agosto de 2009 às 14:10
o maurim ou alguem, consegue me arrumar o mapa do municipio de sao paulo dividido por ceps?
fico grato a quem me conseguir.
Emerson
19 de agosto de 2009 às 15:49
Emerson, blza?
Kra isso e meio difícil viu. Acredito que a não ser que alguém tenha e possa disponibilizar(bem improvável), a única forma será pedido aos correios mesmo. Existem pacotes que eles disponibilizam que o preço é bem acessível.
Infelizmente não posso te ajudar nessa.
Abraço.
10 de janeiro de 2014 às 12:37
Boa Tarde !!!
Há possibilidade de se montar um scrip apenas com números de CEP da região da Zona Leste de São Paulo??
Faço faculdade de urbanismo e estou fazendo um trabalho sobre o mapeamento nesta região.
se possível, também aguardo retorno no seguinte email: diego@liderancacobrancas.com.br
Muito obrigado.
14 de janeiro de 2014 às 13:49
Boa tarde Anonimo!
Os CEPs da Zona Leste começam com 03
em Sao paulo (cidade de São Paulo) é esta a distribuição:
Centro: de 01001 a 01548
Norte: de 02001 a 02998
Leste: de 03001 a 03989
Sul: de 04001 a 04967
Oeste: de 5001 a 05985
Postar um comentário