logo

Sådan læser du CSV-fil i Java

Det CSV står for Kommaseparerede værdier . Det er et simpelt filformat, som bruges til at gemme tabeldata i simpel tekstform, såsom et regneark eller en database. Filerne i CSV format kan importeres til og eksporteres fra programmer (Microsoft Office og Excel), som gemmer data i tabeller. CSV-filen brugte en afgrænsning til at identificere og adskille forskellige datatoken i en fil. CSV-filformatet bruges, når vi flytter tabeldata mellem programmer, der oprindeligt opererer på inkompatible formater. Der er følgende måder at læse CSV-fil i Java. Standardseparatoren for en CSV-fil er en komma (,) .

Der er følgende måder at udskrive et array på i Java:

  • Java Scanner klasse
  • Java String.split() metode
  • Ved brug af Åbn CSV API

Sådan opretter du CSV-fil

Der er to måder at oprette en CSV-fil på:

  • Ved brug af Microsoft Excel
  • Ved brug af Notesblok

Bruger Microsoft Excel

Trin 1: Åbn Microsoft Excel.

Trin 2: Skriv følgende data ind i filen:

du er splejsning
Sådan læser du CSV-fil i Java

Trin 3: Gem nu filen. Angiv filnavnet CSVDemo og vælg CSV (kommasepareret) fra gem som type menu. Klik nu på knappen Gem.

Sådan læser du CSV-fil i Java

Brug af Notesblok

Trin 1: Åben notesblok .

Trin 2: Skriv nogle data i filen adskilt af komma (,) . For eksempel:

Vivek, Singh, 23, 9999999, Chandigarh

java har næste

Trin 3: Gem filen med .csv udvidelse.

Vi har oprettet følgende fil.

Sådan læser du CSV-fil i Java

Java Scanner klasse

Java Scanner klasse giver forskellige metoder, hvormed vi kan læse CSV-fil. Scanner-klassen giver en konstruktør, der producerer værdier, der er scannet fra den angivne fil. Det opdeler data i token-formen. Den bruger et afgrænsningsmønster, som som standard matcher hvidt mellemrum. De resulterende tokens konverteres derefter til værdier af forskellige typer ved hjælp af next()-metoderne.

Eksempel

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

Produktion:

 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 

Java String.split() metode

Java String.split() identificerer afgrænseren og opdeler rækkerne i tokens.

Syntaks

 public String[] split(String regex) 

Metoden analyserer et afgrænsende regulært udtryk. Metoden returnerer et array af streng beregnet ved at opdele denne streng omkring matcher af det givne regulære udtryk.

Overvej strengen:

'dette:er:et:bord' Regex Resultat : {'dette', 'er', 'en', 'tabel'}

Eksempel

I det følgende eksempel bruger vi BufferedReader-klassen, som læser fil linje for linje, indtil EOF-tegnet (end of file) er nået.

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

Produktion:

fordelene ved instagram til personlig brug
 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] 

Bruger OpenCSV API

OpenCSV er en tredjeparts API, som giver standardbiblioteker til at læse forskellige versioner af CSV-filer. Biblioteket giver bedre kontrol til at håndtere CSV-filen. Biblioteket kan også læse TDF (Tab-Delimited File) filformat.

Funktioner i OpenCSV

  • Et vilkårligt antal værdier pr. linje.
  • Ignorerer kommaer i citerede elementer.
  • Håndterer poster, der spænder over flere linjer.

Det CSV-læser klasse bruges til at læse en CSV-fil. Klassen giver CSVReader-klassekonstruktøren til at parse en CSV-fil.

Syntaks

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

Parametre

fibonacci-sekvens java

læser: Læseren til en CSV-kilde.

separator: Det er en afgrænsning, som bruges til at adskille poster.

Trin til at læse CSV-fil i Eclipse:

Trin 1: Opret en klassefil med navnet LæsCSVEeksempel3 og skriv følgende kode.

Trin 2: Lave en lib mappe i projektet.

Trin 3: Hent opecsv-3.8.jar fra

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

Trin 4: Kopier opencsv-3.8.jar og indsæt i mappen lib.

gør mens java

Trin 5: Kør nu programmet.

Eksempel

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

Produktion:

 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 

Læser CSV-fil med en anden separator

I den følgende CSV-fil har vi brugt semikolon (;) til at adskille tokens.

Sådan læser du CSV-fil i Java

Eksempel

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

Produktion:

 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