Mettre le contenu d'un csv dans une matrice

Signaler
Messages postés
1
Date d'inscription
lundi 8 mars 2010
Statut
Membre
Dernière intervention
8 mars 2010
-
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
-
Bonjour à Tous!

J'ai un problème: je dois faire une analyse en composante principale sur un jeu de données dans un tableau exel .csv. Pour ça, il faut que j'utilise javastat PCA qui me fait ça tout seul comme un grand à condition que je lui donne une matrice, autrement dit un tableau double[][]. Le problème c'est que opencsv ne connait que les list: je fait comment la transition entre les deux?
Pour l'instant j'en suis là:

package exo;
 
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import java.lang.Object;
import au.com.bytecode.opencsv.CSVReader;
import javastat.multivariate.PCA;

public class Apply {
 
    public static void main(String[] args) throws IOException 
    {
        CSVReader reader = new CSVReader(new 
                FileReader("stockori/genotype.csv"));
        String [] nextLine;
        LinkedList<float[]> myTable= new LinkedList<float[]>();
        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(Float.parseFloat(nextLine[i]));
            }
        }
        System.out.println(myTable.get(1));
    }
}
 


Mais je ne sais pas comment faire pour mettre tout dans une matrice double[][], Eclipse n'aime pas la ligne "myTable.addLast(Float.parseFloat(nextLine[i]));", il me dit que le methode addLast n'est pas applicable à l'argument float. Pourriez-vous m'aider s'il vous plait?

Narrow

1 réponse

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
16
Salut,

Tu essayes d'ajouter un Float dans une liste qui contient des Float[].
C'est-à-dire que tu essayes d'ajouter un objet dans une liste qui doit contenir des tableaux d'objets.

Essayes pluôt :

myTable.addLast(new float[] {new Float(j).floatValue()});