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 :

[CSV] Trier un fichier CSV


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut [CSV] Trier un fichier CSV
    Bonjour,

    J'aimerai savoir comment faire, une fois un fichier CSV parser, comment tirer les données ?

    J'ai déjà regardé ce script :

    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
    $file = "mon_fichier.csv";
    $taille = 1024;
    $delimiteur = ":";
    /* ouverture en lecture */
    if($fp = fopen($file,"r")) {
        /* extraction d'une ligne */
        while ($ligne = fgetcsv($fp, $taille, $delimiteur)) {
            /* affichage des champs */
            echo $ligne['0'].';'.$ligne['1'].';'.$ligne['2'];
        }
        echo <br>;
        /* fermeture fichier */
        fclose ($fp);
    } else {
        echo "Ouverture impossible.";
    }

    j'aimerai trier les données du $ligne['0'] en croissant puis les données du $ligne['1'] en croissant et enfin les données du $ligne['2'] en croissant.

    Cela est il possible ?

    Merci d'avance

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Bonjour,

    Tout mettre dans un array et utiliser les fonctions de tri (sort, bsort, etc..)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    c'est se que j'avais pensé. je ne maitrise pas complètement les array, dans ce cas ma question est comment mettre ces données dans un array ? de plus j'aimerai pouvoir supprimer les doublons

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      echo $ligne['0'].';'.$ligne['1'].';'.$ligne['2'];

    Au lieu de faire un echo tu peux faire quelque chose comme ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       $csv[] = array('champ0' => $ligne[0], 'champ1' => $ligne[1]);

    Qui te construira un array "csv".

    Pour les doublons regarde du coté de "la fonction unique

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    pour le trie j'ai trouvé cette fonction :

    array_multisort()Tri multi-dimensionnel de tableaux

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Tout dépend du tri et de la forme de ton array.
    PHP propose une panoplie extraordinaire de fonction de tri (sans compter les tri à callback)

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    bah je recherche a trier les information de mon fichier CSV avant affichage à l'écran...

    j'ai fais des tests avec array_multisort (voici un exemple de fonctionnement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Classer un tableau multi-dimensionnel
     
     
    <?php
    $ar = array(
           array("10", 11, 100, 100, "a"), 
           array(   1,  2, "2",   3,   1)
          );
    array_multisort($ar[0], SORT_ASC, SORT_STRING,
                    $ar[1], SORT_NUMERIC, SORT_DESC);
    var_dump($ar);
    ?>
    mais je ne sais pas comment adapter cette fonction à mon utilisation.

Discussions similaires

  1. [Toutes versions] Ventiler mon fichier .csv en plusieurs fichiers .csv
    Par X.e.N.o.N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/07/2018, 05h11
  2. Réponses: 2
    Dernier message: 17/04/2015, 10h07
  3. trier un fichier csv
    Par marco056 dans le forum Général Python
    Réponses: 14
    Dernier message: 10/04/2015, 01h28
  4. [CSV] Générer un fichier CSV
    Par Taz_8626 dans le forum Langage
    Réponses: 6
    Dernier message: 18/07/2006, 08h25
  5. Réponses: 12
    Dernier message: 07/12/2005, 18h42

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