logo

Come leggere il file CSV in Java

IL CSV sta per Valori separati da virgola . È un formato di file semplice utilizzato per archiviare dati tabulari in un semplice formato di testo, come un foglio di calcolo o un database. I file in CSV il formato può essere importato ed esportato da programmi (Microsoft Office ed Excel) che memorizzano i dati in tabelle. Il file CSV utilizzava un delimitatore per identificare e separare diversi token di dati in un file. Il formato file CSV viene utilizzato quando spostiamo dati tabulari tra programmi che operano nativamente su formati incompatibili. Esistono i seguenti modi per leggere il file CSV in Java. Il separatore predefinito di un file CSV è a virgola (,) .

Esistono i seguenti modi per stampare un array in Java:

  • Giava Scanner classe
  • Giava String.split() metodo
  • Utilizzando ApriCSV API

Come creare un file CSV

Esistono due modi per creare un file CSV:

  • Utilizzando Microsoft Excel
  • Utilizzando Bloc notes

Utilizzando Microsoft Excel

Passo 1: Apri Microsoft Excel.

Passo 2: Scrivere nel file i seguenti dati:

Come leggere il file CSV in Java

Passaggio 3: Ora salva il file. Fornire il nome del file CSVDemo e seleziona CSV (delimitato da virgole) dal file salva come tipo menù. Ora, fai clic sul pulsante Salva.

Come leggere il file CSV in Java

Utilizzando il Blocco note

Passo 1: Aprire bloc notes .

pitone __dict__

Passo 2: Scrivere alcuni dati in file separati da virgola (,) . Per esempio:

Vivek, Singh, 23, 9999999, Chandigarh

Passaggio 3: Salva il file con .csv estensione.

Abbiamo creato il seguente file.

Come leggere il file CSV in Java

Classe scanner Java

Giava Scanner class fornisce vari metodi con cui possiamo leggere il file CSV. La classe Scanner fornisce un costruttore che produce valori scansionati dal file specificato. Suddivide i dati nel modulo token. Utilizza un modello delimitatore che per impostazione predefinita corrisponde allo spazio bianco. I token risultanti vengono quindi convertiti in valori di diverso tipo utilizzando i metodi next().

Esempio

 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 } } 

Produzione:

 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 

Metodo Java String.split()

Giava String.split() identifica il delimitatore e divide le righe in token.

ordine casuale sql

Sintassi

 public String[] split(String regex) 

Il metodo analizza un'espressione regolare di delimitazione. Il metodo restituisce un array di stringhe calcolato suddividendo questa stringa attorno alle corrispondenze dell'espressione regolare data.

Consideriamo la stringa:

Java aggiunge stringa

'questo è un tavolo' Regex Risultato : {'questo è un tavolo'}

Esempio

Nell'esempio seguente, utilizziamo la classe BufferedReader che legge il file riga per riga fino al raggiungimento del carattere EOF (fine del file).

 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(); } } } 

Produzione:

 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] 

Utilizzando l'API OpenCSV

OpenCSV è un'API di terze parti che fornisce librerie standard per leggere varie versioni di file CSV. La libreria fornisce un controllo migliore per gestire il file CSV. La libreria può anche leggere il formato file TDF (Tab-Delimited File).

Caratteristiche di OpenCSV

  • Qualsiasi numero di valori per riga.
  • Ignora le virgole negli elementi tra virgolette.
  • Gestisce le voci che si estendono su più righe.

IL CSVReader La classe viene utilizzata per leggere un file CSV. La classe fornisce il costruttore della classe CSVReader per analizzare un file CSV.

Sintassi

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

Parametri

se altrimenti in Java

lettore: Il lettore a una fonte CSV.

separatore: È un delimitatore utilizzato per separare le voci.

Passaggi per leggere il file CSV in Eclipse:

Passo 1: Crea un file di classe con il nome LeggiCSVEsempio3 e scrivere il seguente codice.

Passo 2: Creare un lib cartella nel progetto.

Passaggio 3: Scaricamento opecsv-3.8.jar da

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

Passaggio 4: Copia il opencsv-3.8.jar e incollalo nella cartella lib.

Passaggio 5: Ora esegui il programma.

Esempio

 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(); } } } 

Produzione:

 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 

Lettura del file CSV con un separatore diverso

Nel seguente file CSV abbiamo utilizzato il punto e virgola (;) per separare i token.

Come leggere il file CSV in Java

Esempio

convertire una data in una stringa
 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(); } } } 

Produzione:

 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