• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

danielcsgomes

Concelhos, distritos, localidades

34 mensagens neste tópico

Boa tarde a todos, gostaria saber se alguem conhece algum sitio aonde se possa retirar todos os concelhos, distritos, localidades de portugal de modo a ser introduzido logo na base de dados?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Era mesmo isso que estava a procura agora so resta colocar na base de dados ;) tks!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoal, alguém consegue dizer-me como consigo passar os dados desses ficheiros para uma tabela do MySQL?

Se usar a query:

Load Data Infile 'caminho do ficheiro' into table minha_tabela

Ele passa mas só se o ficheiro txt tiver com tabulações em vez de ";".

Tentei passar para o Excel (por vezes o excel não passa todos os dados não sei porquê) e e gravar um txt com tabulações. Quando passo, desta forma, a tabela de do MySQL fica com uma linha a mais no registo, como se tivesse feito um ALT+ENTER no campo.

Alguém sabe dizer-me como se faz para passar tal e qual como está nos ficheiros dos ctt?

O que eu já tinha feito, foi um programa em C# para manipular os dados do ficheiro e passar a informação que me interessa para outro ficheiro mas o que gostava na realidade era saber como é que se faz para passar tal e qual dos ficheiros disponibilizados pelos ctt.

obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que só em php. Se for do tipo de ficheiro CSV, fazes do estilo:


$ficheiro = 'csv.csv';
$handle = fopen($ficheiro,'r');

while ( ($dados = fgetcsv( $handle, 2000, ';', '"') ) !== false ){

$dadosParaInserir [] = array( $dados[1], $dados[2], $dados[3]... );

}

....

inserir na bd

...

pesquisa sobre a funcao fgetcsv

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado Battousai

Descobri também esta maneira

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name

FIELDS TERMINATED BY ','

LINES TERMINATED BY '\n';

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado Battousai

Descobri também esta maneira

Coool!

Que motor de base de dados dá para fazer isso? Todos?

Não sabia desse pequeno truque.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya, penso que dão todos... Eu normalmente uso o MS SQL mas desta vez tenho de usar o mysql.

Mas detectei um pequeno problema... o ficheiro todos_cp tem dados repetidos... há alguma forma de dar a volta à situação. Eu tentei acrescentar um campo chave com incrementação automática, mas se quero passar directamente do ficheiro para a tabela os campos têm de bater certos. têm de ser exactamente 16...

alguma ajuda?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Tens aí a sintaxe:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_name]
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [sTARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [iGNORE number LINES]
    [(col_name_or_user_var,...)]
    [sET col_name = expr,...]

Tens a opção de adicionar um REPLACE.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

agradecido, funcionou!

foi só simplificar o código

LOAD DATA INFILE 'c:/todos_cp.txt'

replace

INTO TABLE todos

FIELDS TERMINATED BY ';'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cuidado com o ficheiro dos CTT, recentemente sofreu uma alteração e as freguesias deixaram de constar no .zip.

Com "sorte" esta situação será temporária.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu tenho o ficheiro completo, separado por distritos, concelhos e freguesias... se alguém necessitar, basta pedir :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu tenho o ficheiro completo, separado por distritos, concelhos e freguesias... se alguém necessitar, basta pedir :)

Pode enviar-me esse ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste momento o zip tem:

- todos_cp.txt

- leiame.txt

- freguesias.txt

- distritos.txt

- concelhos.txt

falta alguma coisa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sei que não é o sitio indicado, mas aproveito já que tem a ver com isto...

Como faço um campo de opções vindas do mysql..

Por exemplo, de inicio tenho os distritos, ao seleccionar um, aparece só os concelhos associados a esse e assim como para as freguesias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sei que não é o sitio indicado, mas aproveito já que tem a ver com isto...

Como faço um campo de opções vindas do mysql..

Por exemplo, de inicio tenho os distritos, ao seleccionar um, aparece só os concelhos associados a esse e assim como para as freguesias

Que linguagens estás a usar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que linguagens estás a usar?

Que linguagens estás a usar?

PHP

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas a todos,

Para quem usa estes ficheiros oriundos dos ctt, venho fazer só um pequeno alerta.

Os Ctt disponibilizam periodicamente os ficheiros.

De tempos a tempos lançam uma nova versão, o que é optimo, pois permite-nos atraves de carregamentos periodicos ter a nossa BD actualizada.

O problema nisto é que não indicam as alterações que houve entre uma versão e outra.

Não havendo os devidos cuidados, pode-se começar a deixar 'lixo' na nossa BD. registos que os ctt deixam de usar, ou que alteraram e nós não temos possibilidades de saber quais.

Para quem esta a começar a usar estes dados agora, o melhor é começar ja a pensar, em criar rotinas de importação destes dados, fazendo as validações/substituições possiveis quanto aos dados já existentes na vossa BD.

um abraço,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite pessoal. Alguem me pode enviar a lsita com as freguesias? Obrigado. ( desousalopes [at] gmail [dot] com )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não consigo encontrar no site da CTT o ficheiro para fazer download.  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não consigo encontrar no site da CTT o ficheiro para fazer download.  :thumbsup:

O link está na primeira página deste tópico.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora