Ir para conteúdo

Arquivado

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

empirerock

Como pular a primeira linha ao importar arquivos CSV?

Recommended Posts

Bom dia.

Não estou achando uma solução para pular a primeira linha do arquivo csv (Item;Descrição;Família;ABC;Saldo Estoque;....).

Agradeço quem puder ajudar.

Segue arquivo csv. Só preciso pular a primeira linha quando for importar para o banco mysql.

Item;Descrição;Família;ABC;Saldo Estoque;Saldo Embalagem;Saldo OPs Abertas;Lote Minimo;Qt.Pedida Total;Nr.Pedida Total;Pendência
10101;CABO ACEL MERCEDES-BENZ - MB 180;CABO-101;E;113;0;0;40;0;0;-113
10102;CABO ACEL MERCEDES-BENZ - SPRINTER;CABO-101;D;48;0;0;80;10;3;-38
10103;CABO ACEL MERCEDES-BENZ - ONIBUS LO - 709/809/812/912;CABO-101;D;53;0;0;40;10;1;-43
10201;CABO FREIO MERCEDES-BENZ - MB 180 TRASEIRO;CABO-102;E;53;0;0;40;0;0;-53
10202;CABO FREIO MERCEDES-BENZ - MB 180 DIANTEIRO;CABO-102;E;256;0;0;40;0;0;-256
10206;CABO FREIO MERCEDES-BENZ - CAMINHAO L-709/710/912 LE;CABO-102;E;26;0;0;40;5;1;-21

Segue script PHP que importa para o banco.

<?php

error_reporting(0);
ini_set(“display_errors”, 0 );



$conexao = mysql_connect("localhost", "", "");
if($conexao)
{
	mysql_select_db("producao", $conexao) or die("O banco solicitado não pode ser utilizado :  . mysql_error()");
}
else{echo "não foi possivel estabelecer uma conecção";}


$tabela = "estf004"; 

$arquivo = 'upload/estf004/estf.csv';// aquivo a ver importado csv do execel

$arq = fopen($arquivo,'r');


while(!feof($arq))
	for($i=0; $i<1; $i++){
		if ($conteudo = fgets($arq)){
			$ll++; 
			$linha = explode(';', $conteudo);
		}

		
		
		$sql = "INSERT INTO $tabela (CODIKS, DESCRICAO, FAMILIA, ABC, SALDO_ESTOQUE, SALDO_EMBALAGEM, SALDO_OP_ABERTA, LOTE_MINIMO, QT_PERDIDA_TOTAL, NR_PERDIDA_TOTAL, PENDENCIA ) VALUES ('$linha[0]', '$linha[1]', '$linha[2]', '$linha[3]', '$linha[4]', '$linha[5]', '$linha[6]', '$linha[7]', '$linha[8]', '$linha[9]', '$linha[10]' )";
		
		$result = mysql_query($sql) or die(mysql_error());
		$linha = array();
	}
	echo "quantidade de linhas importadas = ".$ll;


	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando dois loops sem necessidade. o for() de dentro não tem sentido, já que só é executado uma vez

Crie um contador e incremente-o a cada iteração.

Para ignorar a primeira linha, basta não fazer INSERT quando o contador for 0, que corresponde à primeira linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Marcio_123
      fala galera blzzz.
       
      to usando esse arquivo para importar arquivo csv e gravar no banco mas ta importando um monte de ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
      alguem pode dar um helpizinho ai..
       
      $file = $_FILES[csv][tmp_name]; $handle = fopen($file,"r"); fgetcsv($handle,1000,";","'"); //insere no banco de dados while ($data = fgetcsv($handle,1000,";","'")) { if(count($data) === 1 && $data[0] === null) continue; mysql_query ("INSERT INTO tb_repasses_setor (campos da tabela) VALUES ( '".mysql_real_escape_string($data[0])."', '".mysql_real_escape_string($data[1])."', '".mysql_real_escape_string($data[2])."', '".mysql_real_escape_string($data[3])."', '".mysql_real_escape_string($data[4])."', '".mysql_real_escape_string($data[5])."', '".mysql_real_escape_string($data[6])."', '".mysql_real_escape_string($data[7])."', '".mysql_real_escape_string($data[8])."' ) "); }  
    • Por Marcio_123
      ola pessoal estou usando esse arquivo para importar uma tabela feita em excel e salva como arquivo .csv
       
      Esta tudo certo ele importa sem problemas o que ocorre é que tem uma linha de cabecalho, e precisa pular, alguem poderia me dar um help para pular essa 1° linha, absss
       
      if ($_FILES[csv][size] > 0) { //pega o arquivo csv $file = $_FILES[csv][tmp_name]; $handle = fopen($file,"r"); //insere no banco de dados do { if ($data[0]) { mysql_query("INSERT INTO tb_folha_pagamento (mes, nome, cargo, secretaria, vinculo, proventos, fixo, liquido) VALUES ( '$mes', '".addslashes($data[3])."', '".addslashes($data[4])."', '".addslashes($data[10])."', '".addslashes($data[15])."', '".addslashes($data[11])."', '".addslashes($data[12])."', '".addslashes($data[13])."' ) "); } } while ($data = fgetcsv($handle,1000,";","'"));  
×

Informação importante

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