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 :

recuperer des données .csv


Sujet :

Documents Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut recuperer des données .csv
    Bonjour tout le monde!

    Je dois utiliser opencsv (qui lit les fichier csv donc) pour mettre le contenu d'un fichier dans un tableau à 2 dimensions. Problème: ca marche pas, j'ai une magnifique erreur ArrayIndexOutOfBoundExeptions à la dernière ligne (myTable[i]=nextLine mais je n'arrive pas à comprendre pourquoi. Et il ne veut pas que j'utilise nextLine en dehors de sa boucle (eclipse dit que ça ne peut contenir que null si je l'en sort). Il y a aussi des import qui ne servent pas, j'en aurais besoin plus tard.

    Ce que j'essaye de faire c'est de mettre les valeurs successives chaque nextLine dans myTable.


    voilà 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    package pca;
     
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.*;
    import java.lang.Object;
    import javastat.multivariate.PCA;
    import au.com.bytecode.opencsv.CSVReader;
     
    public class ApplyPCA {
     
    	public static void main(String[] args) throws IOException {
    	CSVReader reader = new CSVReader(new FileReader("stockori/genotype.csv"));
    	String [] nextLine;
    	String[][] myTable={};
        	while ((nextLine = reader.readNext()) != null) {
        		// nextLine[] is an array of values from the line
        		System.out.println(nextLine[148]);
        		for (int i=0; i<nextLine.length; i++){
        			myTable[i]=nextLine;
     
        		}
     
        	}
     
    	}
    }
    Merci d'avance de votre aide.
    Narrow

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Bonjour,

    Peux-tu mettre les balises CODE dans ton programme ansi que les messages d'erreur?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Ton tableau qui contiendra les nextline nest pas initialise.

    Le mieux serait de savoir combien de lignes comporte ton fichier mais comme ce nést pas possible directement, je te conseillerais de faire une List de tableau.

    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
     
    package pca;
     
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.*;
    import java.lang.Object;
    import javastat.multivariate.PCA;
    import au.com.bytecode.opencsv.CSVReader;
     
    public class ApplyPCA {
     
        public static void main(String[] args) throws IOException 
        {
            CSVReader reader = new CSVReader(new 
                    FileReader("stockori/genotype.csv"));
            String [] nextLine;
            LinkedList<String[]> myTable= new LinkedList<String[]>();
            while ((nextLine = reader.readNext()) != null) 
            {
                // nextLine[] is an array of values from the line
                System.out.println(nextLine[148]);
                for (int i=0; i<nextLine.length; i++)
                {
                    myTable.addLast(nextLine);
                }
            }
        }
    }

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci Radtriste!

    ttttnht je te prie de me pardonner, je vais voir si je peux editer le message.

    Je ne voudrais pas abuser mais sauriez vous aussi comment je peux afficher les valeurs de myTable pour voir ce qu'il y a dedans? Car quand je met ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(myTable[1]);
    il me répond gentillement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    	The type of the expression must be an array type but it resolved to LinkedList<String[]>
     
    	at pca.ApplyPCA.main(ApplyPCA.java:27)
    Encore merci.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    Tout simplement car myTable nest plus un tableau mais une liste, donc lequivalent est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println(myTable.get(1));

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    .... Il manque souvent sur les forum un smiley "cruche" j'ai remarqué
    à defaut je met donc celui-là
    Merci Radtriste!

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

Discussions similaires

  1. recuperer des données calculé
    Par mael94420 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/01/2006, 13h12
  2. Réponses: 2
    Dernier message: 22/11/2005, 22h09
  3. [VB.NET] Recuperer des données ds un fichier
    Par Aspic dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/11/2005, 09h31
  4. Recuperer des données d'access
    Par Lucier dans le forum MFC
    Réponses: 18
    Dernier message: 25/11/2004, 10h29
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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