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 Perl Discussion :

Problème de dernière colonne vide ou non vide


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 44
    Points : 43
    Points
    43
    Par défaut Problème de dernière colonne vide ou non vide
    Bonjour,

    Je dois parser un fichier CSV et j'ai deux problèmes :

    Mon FICIN est sous la forme suivante (csv) :

    Nom : ficin.jpg
Affichages : 180
Taille : 145,9 Ko

    Mon programme :

    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
    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
     
    for(my $i = 1; $i<$#liste_troisieme_ligne;$i = $i +3){
     
     
     
     
     
    if(($liste_troisieme_ligne[$i] !~ m/unknown/)&&($liste_troisieme_ligne[$i-1] !~ m/available/)){
     
    			push @liste_ok, $i;
     
     
     
     
     
    $all_cours{$instrument2.",".$liste_place[$i-1].",".$liste_troisieme_ligne[$i+1].",".$liste_troisieme_ligne[$i-1]} = $liste_troisieme_ligne[$i];
     
     
     
     
     
    		}
     
    	}
     
    }
     
     
     
    print (FICOUT "instrument, place, date, cours, FX\n");
     
     
     
    foreach my $ke (sort(keys(%all_cours))){
     
     
     
    	print (FICOUT "$ke,$all_cours{$ke}\n");
     
    	}
     
     
     
    close(FICOUT);
    Mon problème est que, quand il arrive au dernier groupe de 3 colonnes mon programme fait un retour chariot dans le FICOUT au mauvaise endroit, c'est à dire après la date. je me retrouve avec le fichier FICOUT suivant :
    Nom : ficout.jpg
Affichages : 160
Taille : 19,2 Ko

    Mon deuxième problème est qu'il devrait prendre toute les lignes où la date est non vide à partir de la 3ème ligne, or il ne met dans mon FICOUT que la 3ème ligne et pas les lignes suivantes.

    Merci d'avance, je suis novice en perl et je n'arrive pas à m'en défaire de ce problème.

    victor

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 44
    Points : 43
    Points
    43
    Par défaut Premier problème solved
    Bon, mea culpa.

    J'ai oublié de nettoyer mon FICIN pour les "\r".

    Le deuxième problème reste entier pourquoi, il ne met pas en FICOUT toute les lignes.

    Merci d'avance

  3. #3
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    1. pourrais-tu mettre ton CSV sous forme d'un fichier texte, ce qui nous donnerait une chance de tester avec tes données.

    2. ça simplifierait ta vie (et accessoirement la nôtre) si tu formatais et indentais ton code correctement. De plus, prendre 44 lignes pour montrer 12 vraies lignes de code ne rend pas le code bien lisible; enlève les lignes vides inutiles, on y verra plus clair.

    3. Dans ton code, il y a trois accolades fermantes après ta boucle for, alors qu'il n'y en a que deux ouvrantes. Du coup, la troisième ferme quelque chose d'autre? Si ton code n'est pas complet, ce n'est pas facile de le comprendre. Ou peut-être est-ce à cause de ton indentation aléatoire? Dans tous les cas, je ne pense pas que le code que tu as posté puisse compiler.

Discussions similaires

  1. Remonter le contenu d'une ligne non vide à une ligne vide
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/08/2014, 12h58
  2. Nouveau Problème sur le comptage des cellules NON VIDES
    Par tyndare36 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2014, 18h18
  3. [XL-2007] Celulle vide ou non vide
    Par binouzzz19 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/01/2011, 15h22
  4. recherche de champ vide ou non vide dans une table
    Par milan dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/07/2008, 10h42
  5. requête avec résultat vide ou non vide
    Par speedev dans le forum Langage SQL
    Réponses: 14
    Dernier message: 11/07/2007, 13h10

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