Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adriano.internet

[Resolvido] Importar arquivo txt para banco de dados

Recommended Posts

Olá pessoal,

 

tenho um arquivo txt com cerca de 800 registros e preciso importar para um banco de dados access, mysql ou até mesmo no excel. mais os registros não estão em colunas.

 

preciso que o mesmo seja convertido em colunas. já tentei de tudo aqui mais funfa.

 

segue abaixo uma amostra de como está o arquivo:

 

Razão Social: xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx

Nome Fantasia: xxxxxxxxxxxx xxxxxxxxxx

Endereço: xxxxxxxxxxxxxxxxxxxxxxxxxx

Bairro: xxxxxxxxxxxxxxxxxxxx

Cidade: xxxxxxxxxxxxxxxxxxx

CEP: xxxxxxxx

Telefone: xxxxxxxxxxxxxxxxxxxxx

Fax: xxxxxxxxxxxxxxxxxxxx

Setor de Atividade: xxxxxxxxxxxxx

Contato: xxxxxxxxxxxxxxxxxx xxxxxxxxxx

Cargo: xxxxxxxxxxxxxxxxxxxx

Email: xxxxxxxxx@xxxxxxxxx.xxx

Site: xxx.xxxxxxxxxx.xxxx

 

Razão Social: xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx

Nome Fantasia: xxxxxxxxxxxx xxxxxxxxxx

Endereço: xxxxxxxxxxxxxxxxxxxxxxxxxx

Bairro: xxxxxxxxxxxxxxxxxxxx

Cidade: xxxxxxxxxxxxxxxxxxx

CEP: xxxxxxxx

Telefone: xxxxxxxxxxxxxxxxxxxxx

Fax: xxxxxxxxxxxxxxxxxxxx

Setor de Atividade: xxxxxxxxxxxxx

Contato: xxxxxxxxxxxxxxxxxx xxxxxxxxxx

Cargo: xxxxxxxxxxxxxxxxxxxx

Email: xxxxxxxxx@xxxxxxxxx.xxx

Site: xxx.xxxxxxxxxx.xxxx

 

Razão Social: xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx

Nome Fantasia: xxxxxxxxxxxx xxxxxxxxxx

Endereço: xxxxxxxxxxxxxxxxxxxxxxxxxx

Bairro: xxxxxxxxxxxxxxxxxxxx

Cidade: xxxxxxxxxxxxxxxxxxx

CEP: xxxxxxxx

Telefone: xxxxxxxxxxxxxxxxxxxxx

Fax: xxxxxxxxxxxxxxxxxxxx

Setor de Atividade: xxxxxxxxxxxxx

Contato: xxxxxxxxxxxxxxxxxx xxxxxxxxxx

Cargo: xxxxxxxxxxxxxxxxxxxx

Email: xxxxxxxxx@xxxxxxxxx.xxx

Site: xxx.xxxxxxxxxx.xxxx

 

Razão Social: xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx

Nome Fantasia: xxxxxxxxxxxx xxxxxxxxxx

Endereço: xxxxxxxxxxxxxxxxxxxxxxxxxx

Bairro: xxxxxxxxxxxxxxxxxxxx

Cidade: xxxxxxxxxxxxxxxxxxx

CEP: xxxxxxxx

Telefone: xxxxxxxxxxxxxxxxxxxxx

Fax: xxxxxxxxxxxxxxxxxxxx

Setor de Atividade: xxxxxxxxxxxxx

Contato: xxxxxxxxxxxxxxxxxx xxxxxxxxxx

Cargo: xxxxxxxxxxxxxxxxxxxx

Email: xxxxxxxxx@xxxxxxxxx.xxx

Site: xxx.xxxxxxxxxx.xxxx

 

 

 

agradeço desde já qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sugiro que faça uma conversão dos dados usando alguma linguagem de programação..

 

pode ser .NET, ASP, PHP, JAVA, C++... o que for..

Compartilhar este post


Link para o post
Compartilhar em outros sites

sugiro que faça uma conversão dos dados usando alguma linguagem de programação..

 

pode ser .NET, ASP, PHP, JAVA, C++... o que for..

 

 

realmente da pra fazer um EXPLODE do PHP .

 

agora vou pensar em como montar isto.

 

ou vou fazer uma macro VBA no excel.

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Joga isso pro excel, faça a tabela certinho, na ordem que está no banco de dados...

 

Depois exporte como csv e use o phpmyadmin ou similar para importar o csv...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se o nosso amigo já resolveu o problema, mas fica ai a dica pra conhecimento de todos, mas é possível exportar o arquivo para o banco de dados com um comando sem problema.

 

Segue o exemplo com apenas os três primeiros campos, ai é só completar com o resto. E faça a estrutura da tabela conforme necessário.

 

CREATE TABLE tabela
(
     razao_social varchar(60),
     nome_fantasia varchar(60),
     endereco varchar(100)
);
LOAD DATA INFILE '/tmp/arquivo_a_ser_exportado.txt' 
INTO TABLE tabela FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n\n' (@rsocial,@fantasia,@endereco) SET 
razao_social  = TRIM(SUBSTRING_INDEX(@rsocial,': ',-1)), 
nome_fantasia = TRIM(SUBSTRING_INDEX(@fantasia,': ',-1)), 
endereco      = TRIM(SUBSTRING_INDEX(@endereco,': ',-1));
Caso o arquivo txt a ser exportado foi gerado em uma maquina Windows, trocar o '\n' por '\r\n', já que o Windows utiliza Carriage Return.

 

Também é possível na hora pegar os dados com a função REPLACE, é até mais garantido. Ex:

razao_social  = TRIM(REPLACE(@rsocial,'Razão Social: ',''))

Abraços!

 

Érico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal,

consegui fazer. utilizei a Macro do Excel para copiar e colar.. repetidamente nos campos certos..

 

o problema é a demora na execução.

 

 

Com este tópico podemos ver que existem diversas soluções para um mesmo problema, a resolução depende apenas do nível técnico.

 

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.