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 :

Modifier un fichier CSV et enregistrer dans un nouveau fichier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Modifier un fichier CSV et enregistrer dans un nouveau fichier
    Bonjour,

    J'ai un problème au niveau de la lecture/écriture dans un fichier CSV, je n'ai pas pu trouve ma réponse sur les différents tutoriels du net, et l'exemple sur la doc me parait un peu floue :/
    Voici ce que je veux faire: je dois supprimer des lignes en fonction du contenu d'une colonne, voici un exemple bien concret:

    Code produit | Nom produit | Catégorie produit
    948htt | Lave-Vaiselle | Cuisine / Electroménager
    183tzg | Lave-linge | Salle de bain / Electroménager
    872ddz | Lave-vaiselle | Cuisine / Electroménager
    xlh015 | Fauteuil de massage | Salon / bien-être


    A chaque fois qu'un produit n'est pas catégorisé dans électroménager, je veux qu'il disparaisse du tableau, du coup il ne restera que de l’électroménager.
    Ma difficulté réside dans le fait de ne pas modifier le fichier mais de créer un nouveau CSV. Je ne sais vraiment pas comment procéder.
    Merci de bien vouloir m'éclairer

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il y a plusieurs moyens de le faire je pense. Essaye peut être de récupérer le contenu du fichier >d'utiliser les fonctions de chaine de caractères genre explode() et compagnie > d'enregistrer ton fichier. Sinon pourquoi ne pas mettre dans une base de données et exporter en CSV si besoin ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    J'ai une idée, mais je ne sais pas si c'est réalisable sur un fichier CSV..., j'ouvre mon fichier avec file_get_contents qui apparemment me retourne mon fichier sou forme d'une chaîne, puis j'utilise la méthode explode() sur mes "\n" et je traite ligne par ligne avec une condition (je ne sais pas non plus comment faire cette condition)
    Pouvez vous me dire si c'est faisable, et si oui, me donner un petit exemple pour m'en inspirer?

    Merci bien,
    TakingCTRL

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Essaie avec ça :
    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
    17
    18
    19
    <?php
      $fichier = 'test.txt';
      $lesLignes = file($fichier);
     
      $nbLignes = sizeof($lesLignes);
      $i = 0;
      while ($i < $nbLignes)
      {
        list($code, $nom, $categorie) = explode('|', $lesLignes[$i]);
        $chaine = stripos($categorie, 'Electroménager');
        if ($chaine === false) 
        {
          unset($lesLignes[$i]);
        }
        $i ++;
      }
     
      file_put_contents($fichier, implode('', $lesLignes));
    ?>

Discussions similaires

  1. lire un fichier CSV et enregistrer dans la bdd
    Par kariel dans le forum Développement Web en Java
    Réponses: 9
    Dernier message: 15/05/2014, 12h54
  2. [CSV] Importer un fichier CSV ou OV2 dans une page PHP
    Par gpsevasion dans le forum Langage
    Réponses: 13
    Dernier message: 12/02/2009, 14h31
  3. [MySQL] Lecture fichier CSV et enregistrement dans la base
    Par tifsa dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/09/2008, 12h49
  4. Importer un fichier csv (séparateur virgule) dans un classeur excel 2003
    Par Valérie32 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2008, 21h44
  5. Réponses: 1
    Dernier message: 10/01/2008, 13h52

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