Bonjour a tous,

Je travaille dans le milieu des statistiques. Je travaille sur la base de donnée suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
|-----+-----+-------+
|Name |Age  |Gender |
|-----+-----+-------|
|Marc |32   |M      |
|Isa  |36   |F      |  
|Lea  |35   |F      |
|Lee  |31   |M      |  
|-----+-----+-------|
(en beaucoup plus gros bien sur).
Sur mon disque, elle est au format .csv. Elle est enregistrée sous forme de ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"Name","Age","Gender"\n"Marc",32,"M"\n"Isa",36,"F"\n"Lea",35,"F"\n"Lee",31,"M"\OEF
Je souhaite la stocker en mémoire sous forme de colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Marc Isa Lea Lee 32 36 35 31 M F F M
Savez-vous comment faire ca de manière efficace ? J’ai pensé à 3 méthodes :
  • Première
    1. Lire la première ligne entièrement.
    2. Créer des vectors pour chaque colonne.
    3. Stocker les données au fur et a mesure de la lecture du fichier dans les vectors.
    4. De temps en temps, il faudra faire une recopie d’un vector, quand celui-ci est trop petit.

  • Deuxième
    1. Lire la base intégralement une fois, pour connaitre le nombre de ligne et le nombre de colonne
    2. Créer en mémoire des tableaux de tailles adéquates.
    3. Lire ensuite la base de données une deuxième fois en remplissant les tableaux.

  • Troisième
    1. Lire la base intégralement et la stocker en ligne.
    2. Puis faire des permutations entre les valeurs.


Laquelle serait la plus efficace ? A y-t-il une autre méthode encore plus efficace ?

Christophe