Comment analyser le CSV en Java

Rupam Yadav 12 octobre 2023
  1. Analyser le CSV en utilisant un Scanner en Java
  2. Analyse CSV en utilisant String.split() en Java
  3. Analyse CSV en utilisant OpenCSV en Java
Comment analyser le CSV en Java

Nous aborderons le sujet de l’analyse d’un CSV en Java. Nous examinerons les différentes méthodes pour effectuer l’analyse CSV en Java de l’échantillon de CSV en Java ci-dessous.

Exemple de CSV en Java

Analyser le CSV en utilisant un Scanner en Java

La première et la plus classique façon d’analyser un fichier CSV est d’utiliser la classe Scanner de Java. Dans l’exemple, nous obtenons le fichier en utilisant File et nous le lisons ensuite avec Scanner.

La chose la plus importante à noter dans cet exemple est que nous devons connaître le séparateur utilisé en CSV. Nous utilisons la virgule du CSV original comme séparateur ; c’est pourquoi nous pouvons spécifier , comme délimiteur dans le code.

import java.io.*;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    File getCSVFiles = new File("/test/example.csv");
    Scanner sc = new Scanner(getCSVFiles);
    sc.useDelimiter(",");
    while (sc.hasNext()) {
      System.out.print(sc.next() + " | ");
    }
    sc.close();
  }
}

Production :

Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO | 

Analyse CSV en utilisant String.split() en Java

Dans l’exemple suivant, nous utilisons une méthode split() qui fonctionne avec la classe String. Nous pouvons utiliser BufferedReader pour lire le fichier CSV et le parcourir en boucle en lisant chaque ligne jusqu’à ce qu’elle atteigne null.

import java.io.*;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    String line = "";
    final String delimiter = ",";
    try {
      String filePath = "/test/example.csv";
      FileReader fileReader = new FileReader(filePath);

      BufferedReader reader = new BufferedReader(fileReader);
      while ((line = reader.readLine()) != null) // loops through every line until null found
      {
        String[] token = line.split(delimiter); // separate every token by comma
        System.out.println(token[0] + " | " + token[1] + " | " + token[2] + " | " + token[3]);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Production :

Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO

Analyse CSV en utilisant OpenCSV en Java

Plusieurs bibliothèques peuvent nous aider à analyser le CSV en Java. L’une d’entre elles est OpenCSV. Dans l’exemple ci-dessous, CSVReader() prend un fileReader avec le fichier CSV et retourne ensuite un tableau de chaînes de caractères.

import com.opencsv.CSVReader;
import java.io.*;
import java.util.List;
import java.util.Scanner;
import java.util.Vector;

public class Main {
  public static void main(String[] args) throws Exception {
    try {
      String filePath = "/test/example.csv";
      FileReader fileReader = new FileReader(filePath);

      CSVReader openCSVReader = new CSVReader(fileReader);
      String[] record;

      while ((record = openCSVReader.readNext()) != null) {
        for (String token : record) {
          System.out.print(token + "\t");
        }
        System.out.println();
      }

    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Production :

Id	UserName	Age	Job	
1	John Doe	24	Developer	
2	Alex Johnson	43	Project Manager	
3	Mike Stuart	26	Designer	
4	Tom Sean	31	CEO	
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java CSV