- Texto para mysql
+ Responder ao Tópico
-
Texto para mysql
Saudações livres a todos :-D
Estou com uma duvida por naum sacar nada de mysql.
O problema eh que estava com uma base de dados ACCESS e exportei para arquivo de texto com delimitação por " e separação por espaço no seguinte fomato
"CPF" "NOME" "ENDEREÇO" "BAIRRO" "CIDADE" "UF" "CPEP" "TELEFONE"
Todos os meu dados estão formatados assim, no arquivo contem 344 registros e preciso fazer um INSERT da seguinte forma:
INSERT INTO `pessoa_fisica` ( `id_pessoa_fisica` , `nome` , `login` , `senha` , `email` , `cpf` , `rg` , `rg_emissor` , `dt_nascimento` , `sexo` , `estado_civil` , `nacionalidade` , `res_rua` , `res_bairro` , `res_cidade` , `res_cep` , `res_estado` , `res_tempo` , `res_tipo` , `res_tel1` , `res_tel2` , `ocupacao` , `renda_mensal` , `renda_outras` , `end_correspondencia` , `terceiro` , `obs` , `ativo` , `permitir_login` )
VALUES (
NULL , 'NOME', '', '', '[email protected]', 'CPF', '000000', 'ssppb', '0000-00-00', '', '', '', 'ENDEREÇO', 'BAIRRO', 'CIDADE', 'CEP', 'UF', '', '', 'TELEFONE', '', '', '', '', '', '', '', '', ''
);
Gostaria de alguma forma, axo eu que seja por manipulação de arquivos usando expresões regulares, sera que alguem poderia me ajudar.
-
Re: Texto para mysql
Acredito e isso ira ajudar
// abrir o arquivo txt
$fp = fopen('meuarquivoondeesta.txt', 'r');
while(!feof($fp))
{
$line = trim(fgets($fp));
// aqui ira usar e funcao explode para os campos use | ou , na expostacao pq seus valore terao espaco pelo q vi pq tem endereco ...
$line = explode('|', $line);
// aqui vo ira inserir na tabela sera facil pois ja tem os valore definidos ...
mysql_query("INSERT INTO tabela VALUES('".$line[0]."', '".$line[1]."', '".$line[2]."', '".$line[3]."', '".$line[4]."')");
$count++;
}
if(!mysql_error($link))
echo 'inserido ( '.$count.' ) registros.';
mysql_close($link);
claro q vc tera q modificar os campos no query mais e um exemplo q com certeza ajudara
-
Re: Texto para mysql
Caro amigo faça o seguinte não use a delimitação utilizando " e use a separação utilizando o TAB, seu arquivo ficarar mais ou menos assim
CP FNOME ENDEREÇO BAIRRO CIDADE UF CPEP TELEFONE
nos campos que não tiver informação coloque um \N.
e use o seguinte comando para carregar as informações na tabela
LOAD DATA LOCAL INFILE "[nome do arquivo]" INTO TABLE [nome da tabela];
Dica: a quantidade de colunas no arquivo deve ser identica a quantidade de campos dentro da tabela.
exemplo de um arquivo, na separação foi utilizado TAB entre as colunas:
Fluffy Harold cat f 1993-02-04 \n
Claws Gwen cat m 1994-03-17 \n
Buffy Harold dog f 1989-05-13 \n
Fang Benny dog m 1990-08-27 \n
Bowser Diane dog m 1979-08-31 1995-07-29
Chirpy Gwen bird f 1998-09-11 \n
Whistler Gwen bird \n 1997-12-09 \n
Slim Benny snake m 1996-04-29 \n
formato da tabela que este arquivo vai preencher
Field Type Null Key
nome varchar(20) YES
owner varchar(20) YES
species varchar(20) YES
sex char(1) YES
birth date YES
death date YES
comando que vai preencher esta tabela com o arquivo acima
LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
espero ter ajudado.