logo

Comment lire un fichier CSV en Java

Le CSV représente Valeurs séparées par des virgules . Il s'agit d'un format de fichier simple utilisé pour stocker des données tabulaires sous forme de texte simple, comme une feuille de calcul ou une base de données. Les fichiers dans le CSV Le format peut être importé et exporté à partir de programmes (Microsoft Office et Excel) qui stockent les données dans des tableaux. Le fichier CSV utilisait un délimiteur pour identifier et séparer les différents jetons de données dans un fichier. Le format de fichier CSV est utilisé lorsque nous déplaçons des données tabulaires entre des programmes qui fonctionnent nativement sur des formats incompatibles. Il existe les manières suivantes de lire un fichier CSV en Java. Le séparateur par défaut d'un fichier CSV est un virgule (,) .

Il existe les manières suivantes d'imprimer un tableau en Java :

  • Java Scanner classe
  • Java Chaîne.split() méthode
  • En utilisant OuvrirCSV API

Comment créer un fichier CSV

Il existe deux manières de créer un fichier CSV :

  • En utilisant Microsoft Excel
  • En utilisant Bloc-notes

Utiliser Microsoft Excel

Étape 1: Ouvrez Microsoft Excel.

Étape 2: Écrivez les données suivantes dans le fichier :

Comment lire un fichier CSV en Java

Étape 3: Maintenant, enregistrez le fichier. Indiquez le nom du fichier CSVDémo et sélectionnez CSV (délimité par des virgules) dans le sauvegarder comme type menu. Maintenant, cliquez sur le bouton Enregistrer.

Comment lire un fichier CSV en Java

Utiliser le Bloc-notes

Étape 1: Ouvrir bloc-notes .

Étape 2: Écrivez quelques données dans un fichier séparées par virgule (,) . Par exemple:

Vivek, Singh, 23 ans, 9999999, Chandigarh

Ubuntu build essentiel

Étape 3: Enregistrez le fichier avec .csv extension.

Nous avons créé le fichier suivant.

Comment lire un fichier CSV en Java

Classe Java Scanner

Java Scanner La classe fournit diverses méthodes par lesquelles nous pouvons lire le fichier CSV. La classe Scanner fournit un constructeur qui produit des valeurs analysées à partir du fichier spécifié. Il divise les données sous forme de jeton. Il utilise un modèle de délimiteur qui correspond par défaut aux espaces blancs. Les jetons résultants sont ensuite convertis en valeurs de différents types à l'aide des méthodes next().

Exemple

 import java.io.*; import java.util.Scanner; public class ReadCSVExample1 { public static void main(String[] args) throws Exception { //parsing a CSV file into Scanner class constructor Scanner sc = new Scanner(new File('F:\CSVDemo.csv')); sc.useDelimiter(','); //sets the delimiter pattern while (sc.hasNext()) //returns a boolean value { System.out.print(sc.next()); //find and returns the next complete token from this scanner } sc.close(); //closes the scanner } } 

Sortir:

 Shashank, Mishra, Auditor, 909090090, 45000, Moti Vihar Naveen, Singh, Accountant, 213344455, 12000, Shastri Nagar Mahesh, Nigam, Sr. Manager, 787878878, 30000, Ashok Nagar Manish, Gupta, Manager, 999988765, 20000, Saket Nagar 

Méthode Java String.split()

Java Chaîne.split() identifie le délimiteur et divise les lignes en jetons.

Syntaxe

 public String[] split(String regex) 

La méthode analyse une expression régulière de délimitation. La méthode renvoie un tableau de chaînes calculé en divisant cette chaîne autour des correspondances de l'expression régulière donnée.

Considérez la chaîne :

'c'est une table' Expression régulière Résultat : {'c'est une table'}

tous les 2 mois

Exemple

Dans l'exemple suivant, nous utilisons la classe BufferedReader qui lit le fichier ligne par ligne jusqu'à ce que le caractère EOF (fin de fichier) soit atteint.

 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadCSVExample2 { public static void main(String[] args) { String line = ''; String splitBy = ','; try { //parsing a CSV file into BufferedReader class constructor BufferedReader br = new BufferedReader(new FileReader('CSVDemo.csv')); while ((line = br.readLine()) != null) //returns a Boolean value { String[] employee = line.split(splitBy); // use comma as separator System.out.println('Employee [First Name=' + employee[0] + ', Last Name=' + employee[1] + ', Designation=' + employee[2] + ', Contact=' + employee[3] + ', Salary= ' + employee[4] + ', City= ' + employee[5] +']'); } } catch (IOException e) { e.printStackTrace(); } } } 

Sortir:

 Employee [First Name= Shashank, Last Name= Mishra, Designation= Auditor, Contact= 909090090, Salary= 45000, City= Moti Vihar] Employee [First Name= Naveen, Last Name=Singh, Designation= Accountant, Contact=213344455, Salary= 12000, City= Shastri Nagar] Employee [First Name= Mahesh, Last Name=Nigam, Designation= Sr. Manager, Contact=787878878, Salary= 30000, City= Ashok Nagar] Employee [First Name= Manish, Last Name=Gupta, Designation= Manager, Contact=999988765, Salary= 20000, City= Saket Nagar] 

Utilisation de l'API OpenCSV

OpenCSV est une API tierce qui fournit des bibliothèques standard pour lire différentes versions de fichiers CSV. La bibliothèque offre un meilleur contrôle pour gérer le fichier CSV. La bibliothèque peut également lire le format de fichier TDF (Tab-Delimited File).

Caractéristiques d'OpenCSV

  • N'importe quel nombre de valeurs par ligne.
  • Ignore les virgules dans les éléments cités.
  • Gère les entrées qui s’étendent sur plusieurs lignes.

Le Lecteur CSV la classe est utilisée pour lire un fichier CSV. La classe fournit le constructeur de classe CSVReader pour analyser un fichier CSV.

Syntaxe

 public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader) 

Paramètres

exemples de programmes Java

lecteur: Le lecteur vers une source CSV.

séparateur: C'est un délimiteur utilisé pour séparer les entrées.

Étapes pour lire le fichier CSV dans Eclipse :

Étape 1: Créez un fichier de classe avec le nom LireCSVExemple3 et écrivez le code suivant.

Étape 2: Créer un lib dossier dans le projet.

Étape 3: Télécharger opecsv-3.8.jar depuis

https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar

Étape 4: Copiez le opencsv-3.8.jar et collez-le dans le dossier lib.

Étape 5 : Maintenant, exécutez le programme.

Exemple

 import java.io.FileReader; import com.opencsv.CSVReader; public class ReadCSVExample3 { public static void main(String[] args) { CSVReader reader = null; try { //parsing a CSV file into CSVReader class constructor reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.print(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Sortir:

 Shashank Mishra Auditor 909090090 45000 Moti Vihar Naveen Singh Accountant 213344455 12000 Shastri Nagar Mahesh NigamSr. Manager 787878878 30000 Ashok Nagar Manish Gupta Manager 999988765 20000 Saket Nagar 

Lecture d'un fichier CSV avec un séparateur différent

Dans le fichier CSV suivant, nous avons utilisé un point-virgule (;) pour séparer les jetons.

Comment lire un fichier CSV en Java

Exemple

100 km/h en mph
 import java.io.FileReader; import java.io.IOException; import com.opencsv.CSVReader; public class ReadCSVExample4 { public static void main(String[] args) { CSVReader reader = null; try { reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //read one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.println(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Sortir:

 Shashank; Mishra; Auditor; 909090090; 45000; Moti Vihar Naveen; Singh; Accountant; 213344455; 12000; Shastri Nagar Mahesh; Nigam; Sr. Manager; 787878878; 30000; Ashok Nagar Manish; Gupta; Manager; 999988765; 20000; Saket Nagar