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

Documents Java Discussion :

Compter les lignes d'un fichier CSV jusqu'à une certaine donnée


Sujet :

Documents Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Points : 17
    Points
    17
    Par défaut Compter les lignes d'un fichier CSV jusqu'à une certaine donnée
    Bonjour,

    J'aimerais comme l'explique le titre du topic pouvoir compter les lignes d'un fichier CSV, seulement je ne désire pas compter TOUTES les lignes jusqu'à la fin du fichier mais seulement jusqu'à une certaine donnée rencontrée dans le fichier

    nous somme d'accord que pour compter TOUTES les lignes d'un fichier csv le code suivant suffit :

    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
    import java.io.*;
     
    public class Compteur {
     
    	  static public void main(String args[]) throws Exception {
     
     
    		 int count = 0;
        	         String str = "";
     
     
        	 FileInputStream fis = new FileInputStream("c:\\fichier.csv");
        	 LineNumberReader l = new LineNumberReader(       
        	        new BufferedReader(new InputStreamReader(fis)));
        	               while ((str=l.readLine())!=null)
        	              {
     
        	    	                 count++;
     
        	              }
        	             int numberLineOfCSV = count; 
        	             System.out.println("Nombre de lignes OK " + numberLineOfCSV);
     
    	     }
    }
    seulement voila, j'aimerais compter jusqu'à ce qu'il y est marqué "GAGNE" à la fin d'une ligne sachant qu'il peut y avoir plusieurs lignes avec marqué "GAGNE", et que dans ce cas je désire compter jusqu'à la dernière ligne.

    exemple :

    blabla blabla blabla
    blabla blabla blabla
    blabla blabla blabla GAGNE

    dans cette exemple je désire récupérer le résultat 3

    exemple 2 :

    blabla blabla blabla
    blabla blabla blabla GAGNE
    blabla blabla blabla
    blabla blabla blabla GAGNE

    dans cette exemple 2 je désire récupérer le résultat 4

    exemple 3 :

    blabla blabla blabla
    blabla blabla blabla
    blabla blabla blabla GAGNE
    blabla blabla blabla
    blabla blabla blabla
    blabla blabla blabla GAGNE
    blabla blabla blabla

    dans l'exemple 3 je désire récupérer le résultat 6

    etc...

    je pense qu'il faut modifier le code au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     while ((str=l.readLine())!=null)
    mais je ne sais pas quoi mettre dans ma boucle while pour pouvoir réaliser ce que je désire.

    Si c'est faisable et que quelqu'un a une idée à me soumettre je le remercie d'avance.

  2. #2
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Quand vous dîtes :

    exemple :

    blabla blabla blabla
    blabla blabla blabla
    blabla blabla blabla GAGNE

    dans cette exemple je désire récupérer le résultat 3

    exemple 2 :

    blabla blabla blabla
    blabla blabla blabla GAGNE
    blabla blabla blabla
    blabla blabla blabla GAGNE

    dans cette exemple 2 je désire récupérer le résultat 5
    Ne serait-ce pas 3 et 2 que vous souhaitez récupérer ?
    Si tel est le cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        	              while ((str=l.readLine())!=null && str.contains("GAGNE"))
        	              {
     
        	    	                 count++;
     
        	              }
        	    	       if (str == null)
        	    	       {
        	    	                  count = 0;
        	    	       }
    Sinon, ça pourrait être ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        	              int nbLignesTrouvees;
        	              while ((str=l.readLine())!=null)
        	              {
        	    	                 count++;
        	    	                 if (str.contains("GAGNE"))
        	    	                 {
        	    	                           nbLignesTrouvees = count;
        	    	                 }
        	              }

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Points : 17
    Points
    17
    Par défaut
    bonjour jcdentons

    non je désire bien récupérer 4 dans l'exemple 2 (autant pour moi j'ai fais une erreur)
    car il y a bien 4 lignes avant qu'il n'y est plus de "GAGNE"
    je ne cherche pas a compter les lignes avec "GAGNE" d'écrit en faite.

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Vous pouvez donc prendre la seconde solution (que je remets et corrige ici) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        	              int nbLignesTrouvees = 0;
        	              while ((str=l.readLine())!=null)
        	              {
        	    	                 count++;
        	    	                 if (str.contains("GAGNE"))
        	    	                 {
        	    	                           nbLignesTrouvees = count;
        	    	                 }
        	              }

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Points : 17
    Points
    17
    Par défaut
    C'est OK merci beaucoup de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script compter les lignes de plusieurs fichiers
    Par zoé78 dans le forum Langage
    Réponses: 8
    Dernier message: 17/01/2011, 13h55
  2. Compter les lignes dans un fichier texte.
    Par morora69 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/06/2010, 16h20
  3. Compter les lignes d'un fichier CSV à partir d'une ligne
    Par miniRoshan dans le forum Général Java
    Réponses: 6
    Dernier message: 03/06/2010, 11h16
  4. Programme pour compter les lignes d'un fichier texte?
    Par codon21 dans le forum Windows
    Réponses: 1
    Dernier message: 19/03/2009, 07h36
  5. [CSV] Compter les lignes d’un fichier csv
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 11h16

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