Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/08/2007, 17h45   #1
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
Par défaut [CSV] Ne pas lire la première ligne

bonjour,

je cherche à extraire certaines données d'un fichier csv et les remettre dans un fichier xls,
le problème c'est que la première ligne contient les noms des colonnes et je ne veux pas la récupérer.
je n'ai pas trouvé ce que je voulais sur le net,
comment dois je faire pour passer cette ligne?
merci
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 17h54   #2
Membre régulier
 
Inscription : novembre 2003
Messages : 77
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2003
Messages : 77
Points : 83
Points : 83
Que faîtes-vous pour lire votre fichier?

Une solution simple lire le fichier lignes par lignes et ignorer la première ligne...

Ou récupérer l'intégralité du contenu du fichier dans une variable et faire un «substring» à partir de l'occurrence du premier caractère de retour de lignes.


Information sur la lecture d'un fichier en PHP
http://php.developpez.com/faq/?page=fichiers
sim_mmm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 20h17   #3
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
je mets ma page de conversion (j'enlève une partie que je ne suis pas sûr d'avoir le droit de mettre)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
set_time_limit ( 1000000 );
 
$fichier = "C:\wamp\www\bruno\VOLDATEIATA2006.csv";
 
if (file_exists($fichier))
{
		$fp = fopen("$fichier", "r"); 
		echo "fichier ouvert<br>";
 }
 else
    { /* le fichier n'existe pas */
		echo "Fichier introuvable !<br>Importation stoppée.";
		exit();
    }
//fichier dans lequel on écrit (csv pour l'instant)
$logfile="C:\wamp\www\bruno\fichier_voldateiedata_convertit.csv";
$fp_log=fopen($logfile, "w");	
 
// crée un  tableau où on va afficher les lignes
//met les noms de colonnes du fichier csv
fwrite($fp_log,"chp1;chp2");
while (!feof($fp)) /* Et Hop on importe */
    { 	/* Tant qu'on n'atteint pas la fin du fichier */ 
	$ligne = fgets($fp); /* On lit une ligne */  
		$ligne=str_replace ( "\"", "", $ligne );
		$ligne=str_replace ( "'", "", $ligne );
 
		/* On récupère les champs séparés par ; dans liste*/
		$liste = explode( ";",$ligne);  
 
		/* On assigne les variables et on fait le traitement*/ 
		$chp1 = $liste[4];
		$chp2 = $liste[12];
 
		//on écrit dans une variable chaque ligne du fichier excel
		$texte=$novol.";".$dep;
	echo $texte."<br>".;
 
//on écrit  la variable dans le fichier
 
fwrite( $fp_log, "$texte\n");
$texte="";
}//fin du while
 
     	echo "<br>Importation terminée, avec succès."; 
 
     	/* Fermeture */ 
     	fclose($fp); 
?>
Citation:
Envoyé par sim_mmm Voir le message
Une solution simple lire le fichier lignes par lignes et ignorer la première ligne...
faire un «substring» à partir de l'occurrence du premier caractère de retour de lignes.
merci pour la réponse mais je ne comprends pas comment faire ça
et j'étais déjà allé voir la faq avant de poster
(le minimum c'est de chercher avant)
ça doit pas être trop compliqué mais je bug un peu là
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 10h31   #4
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
avec
Code :
if (!strpos($ligne,"\n"))
est ce que je suis sur une bonne voie?
ou y a t-il mieux à faire?

merci
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 12h57   #5
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
c'est bon, j'ai trouvé une solution aussi simple que je n'y avais pas pensé.
J'ai rajouté une variable $i=0 avant mon while et je teste après le fgets() si elle est >0 sinon je l'incrémente

merci

(est ce que vous ne pourriez pas l'ajouter à la faq?)
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h00.


 
 
 
 
Partenaires

Hébergement Web