Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2962 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] compter les lignes d'un fichier .csv

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] compter les lignes d'un fichier .csv

n°774565
arma
Bad day...
Posté le 23-06-2004 à 16:49:59  profilanswer
 

Salut à tous
J'aimerais juste savoir comment je pe faire pour compter les lignes d'un fichier .csv (qui vient d'un fichier excel)?
En fait je veut récupérer dans un tableau tous le fichier mais il me mais aussi une ligne vide. Il me faudrait alors un moyen de la virer  
 
Merci


Message édité par arma le 24-06-2004 à 09:40:07
mood
Publicité
Posté le 23-06-2004 à 16:49:59  profilanswer
 

n°774579
T509
$job->GetJob(now)
Posté le 23-06-2004 à 16:59:11  profilanswer
 

une boucle qui teste la fin de fichier avec feof, et dans cette boucle un compteur que tu incrémentes à chaque tour de boucle pour chaque ligne trouvée avec fgets()


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°774585
arma
Bad day...
Posté le 23-06-2004 à 17:01:52  profilanswer
 

c ce que je fais et ca marche pas il me prend en compte la dernière ligne qui est pourtant vide.

n°774587
skeye
Posté le 23-06-2004 à 17:02:58  profilanswer
 

arma a écrit :

c ce que je fais et ca marche pas il me prend en compte la dernière ligne qui est pourtant vide.


bah une ligne vide reste une ligne...s'il y a effectivement un retour à la ligne c'est normal, non? :??:


---------------
Can't buy what I want because it's free -
n°774591
arma
Bad day...
Posté le 23-06-2004 à 17:05:14  profilanswer
 

skeye a écrit :

bah une ligne vide reste une ligne...s'il y a effectivement un retour à la ligne c'est normal, non? :??:


le fichier .csv est créé a partir d'un fichier excel et je ne fais pas de retour a la ligne donc il n'es tpas censé prendre ne compte cette dernière ligne il es tcensé faire feof

n°774609
T509
$job->GetJob(now)
Posté le 23-06-2004 à 17:11:48  profilanswer
 

montre ton code


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°774614
arma
Bad day...
Posté le 23-06-2004 à 17:15:27  profilanswer
 

T509 a écrit :

montre ton code


 
$myFile = fopen("company.csv",r)
$i = 0;
   while (!feof($myFile)){
         $myLine=fgets($myFile, 500);
         $tab = explode(";", $myLine);
 
         if ($i != 0){
           $name =$tab[0];
           $nb_client=$tab[1];
           $req="INSERT INTO Niveau1 ...
           }
        $i++
        }
fclose($myFile);
 
//le $i est la pour virer la première ligne
 

n°774620
T509
$job->GetJob(now)
Posté le 23-06-2004 à 17:23:53  profilanswer
 

apparement, tu veux insérer un CVS en BDD, je fais autrement et je laisse la BDD s'en occuper tout seul :
 

Code :
  1. $requete_remplissage_table = "LOAD DATA LOCAL INFILE 'fichier.csv' INTO TABLE `table`
  2.    FIELDS TERMINATED BY ','
  3.    ENCLOSED BY '\"'
  4.    LINES TERMINATED BY '\r\n'
  5.    (`champ1`, `champ2`, `champ3`, `champ4`, `champ5`)";


 
Le fichier csv se trouve sur le serveur dans le même dossier que le script php qui effectue cette requête SQL


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°774626
arma
Bad day...
Posté le 23-06-2004 à 17:27:04  profilanswer
 

T509 a écrit :

apparement, tu veux insérer un CVS en BDD, je fais autrement et je laisse la BDD s'en occuper tout seul :
 

Code :
  1. $requete_remplissage_table = "LOAD DATA LOCAL INFILE 'fichier.csv' INTO TABLE `table`
  2.    FIELDS TERMINATED BY ','
  3.    ENCLOSED BY '\"'
  4.    LINES TERMINATED BY '\r\n'
  5.    (`champ1`, `champ2`, `champ3`, `champ4`, `champ5`)";


 
Le fichier csv se trouve sur le serveur dans le même dossier que le script php qui effectue cette requête SQL


 
je ne pe pas faire comme ca car g des valeurs dans le .csv qu'il faut que je prenne et que je transforme avant de les entrer dans la base.
 
Et oui le fichier est sur le serveur dans le meme repertoire

n°774632
T509
$job->GetJob(now)
Posté le 23-06-2004 à 17:35:35  profilanswer
 

essaie ceci
 

Code :
  1. $lien_bdd = ...
  2. $myFile = fopen("company.csv",r)
  3. $i = 0;
  4.    while (!feof($myFile)){
  5.          $i++;
  6.          $myLine=fgets($myFile);
  7.          $tab = explode(";", $myLine);
  8.          if ($i > 1 && strlen($tab[0]) >0){
  9.            $name =$tab[0];
  10.            $nb_client=$tab[1];
  11.            $req="INSERT INTO Niveau1 ...
  12.            }
  13.         }
  14. fclose($myFile);


 
La différence majeure est la suppression du paramètre optionnel de fgets (à mettre si tes lignes font plus de 8Ko)


Message édité par T509 le 23-06-2004 à 17:36:10

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
mood
Publicité
Posté le 23-06-2004 à 17:35:35  profilanswer
 

n°774651
arma
Bad day...
Posté le 23-06-2004 à 17:49:36  profilanswer
 

ok je v essayer merci

n°775211
arma
Bad day...
Posté le 24-06-2004 à 09:11:26  profilanswer
 

Ca marche merci bcp

n°775224
T509
$job->GetJob(now)
Posté le 24-06-2004 à 09:24:08  profilanswer
 

Il n'y a plus qu'à fermer le topic


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°775252
arma
Bad day...
Posté le 24-06-2004 à 09:36:48  profilanswer
 

le truc c que je sais pas comment on met résolu...

n°775257
skeye
Posté le 24-06-2004 à 09:38:48  profilanswer
 

arma a écrit :

le truc c que je sais pas comment on met résolu...


bouton éditer sur le premier post...;)


---------------
Can't buy what I want because it's free -
n°775458
ratibus
Posté le 24-06-2004 à 11:20:19  profilanswer
 

On peut aussi utiliser la fonction file qui mets directement le contenu d'un fichier dans un tableau :)

n°779990
ecocentric
Posté le 28-06-2004 à 09:15:36  profilanswer
 

IL y a la fonction fgetcsv pour les fochier csv...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] compter les lignes d'un fichier .csv

 

Sujets relatifs
lire dans un fichier binaire en hexa (débutant)reconnaître fichier .js
clic sur un noeud d'un TreeView [résolu][PHP] test upload de fichier (resolu)
[access](RESOLU) savoir si une requête sort un résultat ou non ??mysql : requête entre plusieurs lignes N, N-1, N-2, etc...
[RESOLU]Peut on attraper un utilisateur aleatoirement dans une bdd?[VBS] Copie de fichier
Telnet avec fichier d'argument. 
Plus de sujets relatifs à : [resolu] compter les lignes d'un fichier .csv


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR