IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Saut de ligne dans fichier CSV


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut Saut de ligne dans fichier CSV
    Bonjour à tous,

    j'ai écris un script PHP qui me permet de récupérer des adresses et numéro de téléphone. Je souhaite les insérer dans un fichier CSV. Après avoir essayé en vain d'insérer "\n", "\t", "\r" au bout de chaque ligne, j'ai décidé d'utiliser la fonction chr(10) qui insère bien un saut de ligne.
    Mon souci est que lorsque j'ouvre mon fichier avec open office, cela m'indique bien une petite flèche symbole de retour à la ligne dans l'écran d'import de texte, mais une fois que j'ouvre réellement le fichier, seule la premiere ligne est presente.

    Savez vous d'ou cela peut venir?

    J'ai trouvé des sujets assez similaires sur le forum mais personne ne semble avoir ce souci de lignes qui disparaissent...

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'utilises bien fputcsv ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Oui tout à fait.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par pausg Voir le message
    Oui tout à fait.
    montre ton code

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Le code pour le fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    fichier = 'test.csv';
    $ff = fopen($fichier, 'w');
     
    % traitement pour obtenir les lignes
    .........
    % à la fin de chaque ligne 
    $test[] = "\n";
     
    fputcsv($ff, $club, ',');
    fclose($ff);
    Pour l'instant j'ai trouvé une astuce en ouvrant d'abord mon CSV dans un éditeur de texte et en remplacant les \n par des sauts de lignes puis en le réouvrant avec openoffice, mais c'est pas très pratique.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    la t’insères qu'une ligne

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Je sais la c'est juste pour vous montrer mais ma ligne est dans une boucle for.

    J'arrive bien à insérer des choses à la fin de chaque ligne, mon souci c'est que open office ne les prend pas en compte.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as pas à rajouter de saut de ligne fputcsv le fait tout seul, pourquoi avoir mis la virgule en séparateur sachant que c'est celle par défaut ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Je ne savais pas que c'était par défaut, par contre le saut de ligne il ne le fait pas...

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par pausg Voir le message
    Je ne savais pas que c'était par défaut, par contre le saut de ligne il ne le fait pas...
    ouvre ton CSV dans notepad++ par exemple, et montre nous un bout, n'oublie pas pas qu'on ouvre pas un CSV mais qu'on importe un CSV

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Ca me met tout sur une seule ligne avec des \n entre chaque ligne.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par pausg Voir le message
    Ca me met tout sur une seule ligne avec des \n entre chaque ligne.
    montre ton vrai code

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ton code pas le rendu

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    ton code pas le rendu
    Pardon...

    voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    foreach($html2->find('div.corpForm') as $e){
     
    		foreach($html2->find('ul') as $ul)  {
     
    			foreach($ul->find('li') as $li){
     
      		    	$test[] = strip_tags($li);
       			}
       			$test[] = "<br/>";
    		}
     
    }
     
    fputcsv($ff, $test, ',');
    fclose($ff);

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c’est bien ce que je disais t’insère qu'une seul ligne et se <br /> c'est quoi ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach($html2->find('div.corpForm') as $e)
    {
        foreach($html2->find('ul') as $ul) 
        { 
            fputcsv($ff, $ul->find('li'));
        }
    }
     
    fclose($ff);
    je sais pas ce c'esy ta lib pour le html mais tu peu pas faire plutôt direct


Discussions similaires

  1. Réponses: 5
    Dernier message: 04/05/2012, 10h38
  2. sauts de ligne dans fichier
    Par ldiaz dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 16/02/2012, 11h34
  3. Saut de ligne dans fichier de ressources
    Par David Fouejio dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2010, 10h41
  4. [CSV] Saut de ligne dans un csv
    Par ThE BiShOp* dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2007, 14h21
  5. Réponses: 3
    Dernier message: 16/08/2006, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo