Lire un csv et le transformer en une matrice
Fermé
lynajar
Messages postés
37
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
9 février 2021
-
3 août 2020 à 14:17
lynajar Messages postés 37 Date d'inscription dimanche 15 décembre 2019 Statut Membre Dernière intervention 9 février 2021 - 4 août 2020 à 00:08
lynajar Messages postés 37 Date d'inscription dimanche 15 décembre 2019 Statut Membre Dernière intervention 9 février 2021 - 4 août 2020 à 00:08
A voir également:
- Lire un csv et le transformer en une matrice
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Transformer une note sur 20 ✓ - Forum Bureautique
- Lire fichier iso - Guide
- Transformer majuscule en minuscule - Guide
3 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 août 2020 à 14:43
3 août 2020 à 14:43
Bonjour,
Tu peux considérablement simplifier la manière dont tu lis ton fichier CSV. Exemple :
Tu peux considérablement simplifier la manière dont tu lis ton fichier CSV. Exemple :
package pkg;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
public class MyCsvreader {
public static void main(final String[] arg) throws IOException {
String[][] matrix = Files.lines(Paths.get("exemple.csv"))
.map(line -> line.split(";"))
.toArray(String[][]::new);
System.out.println(Arrays.deepToString(matrix));
}
}
lynajar
Messages postés
37
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
9 février 2021
3 août 2020 à 20:11
3 août 2020 à 20:11
Bonjour;
merci KX pour ton aide,
je veux utiliser les éléments de chaque case pour faire des calcules, par exemple calculer la somme de tous les éléments de la matrice:
merci KX pour ton aide,
je veux utiliser les éléments de chaque case pour faire des calcules, par exemple calculer la somme de tous les éléments de la matrice:
som=0; for(i=0;i<n;i++) for(j=0;j<m;j++) som=som+matrix[i][j] end end
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
Modifié le 3 août 2020 à 20:32
Modifié le 3 août 2020 à 20:32
Il suffit d'une légère adaptation de mon code pour obtenir un double[][] plutôt qu'un String[][] par exemple :
Toutefois, tu pourrais très facilement calculer directement la somme, sans avoir à passer par une matrice :
double[][] matrix = Files.lines(Paths.get("exemple.csv"))
.map(line -> Arrays.stream(line.split(";"))
.mapToDouble(Double::parseDouble)
.toArray())
.toArray(double[][]::new);
Toutefois, tu pourrais très facilement calculer directement la somme, sans avoir à passer par une matrice :
double sum = Files.lines(Paths.get("exemple.csv"))
.flatMap(line -> Arrays.stream(line.split(";")))
.mapToDouble(Double::parseDouble)
.sum();
lynajar
Messages postés
37
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
9 février 2021
4 août 2020 à 00:08
4 août 2020 à 00:08
Bonsoir;
je dois passer par une matrice pour utiliser la valeur de chaque case ligne i et colonne j (matrix[i][j]) séparément, parce que par la suite je veux utiliser cette matrice pour créer un arbre
je dois passer par une matrice pour utiliser la valeur de chaque case ligne i et colonne j (matrix[i][j]) séparément, parce que par la suite je veux utiliser cette matrice pour créer un arbre