logo

Ako čítať súbor CSV v jazyku Java

The CSV znamenať Hodnoty oddelené čiarkou . Je to jednoduchý formát súboru, ktorý sa používa na ukladanie tabuľkových údajov v jednoduchej textovej forme, ako je tabuľka alebo databáza. Súbory v CSV je možné importovať a exportovať z programov (Microsoft Office a Excel), ktoré ukladajú údaje v tabuľkách. Súbor CSV používal oddeľovač na identifikáciu a oddelenie rôznych dátových tokenov v súbore. Formát súboru CSV sa používa, keď presúvame tabuľkové údaje medzi programami, ktoré natívne fungujú v nekompatibilných formátoch. Existujú nasledujúce spôsoby, ako čítať súbor CSV v jazyku Java. Predvolený oddeľovač súboru CSV je a čiarka (,) .

Existujú nasledujúce spôsoby tlače poľa v jazyku Java:

  • Java Skener trieda
  • Java String.split() metóda
  • Použitím OpenCSV API

Ako vytvoriť súbor CSV

Existujú dva spôsoby, ako vytvoriť súbor CSV:

  • Použitím Microsoft Excel
  • Použitím Poznámkový blok

Používanie programu Microsoft Excel

Krok 1: Otvorte program Microsoft Excel.

Krok 2: Do súboru zapíšte nasledujúce údaje:

Ako čítať súbor CSV v jazyku Java

Krok 3: Teraz uložte súbor. Zadajte názov súboru CSVDemo a vyberte CSV (Comma delimited) z uložiť ako typ Ponuka. Teraz kliknite na tlačidlo Uložiť.

Ako čítať súbor CSV v jazyku Java

Používanie programu Poznámkový blok

Krok 1: OTVORENÉ poznámkový blok .

Krok 2: Zapíšte nejaké údaje do súboru oddeleného čiarka (,) . Napríklad:

Vivek, Singh, 23, 9999999, Chandigarh

akú veľkosť mám monitor

Krok 3: Uložte súbor s .csv rozšírenie.

Vytvorili sme nasledujúci súbor.

pothineni baran
Ako čítať súbor CSV v jazyku Java

Trieda Java Scanner

Java Skener triedy poskytujú rôzne metódy, pomocou ktorých môžeme čítať súbor CSV. Trieda Scanner poskytuje konštruktor, ktorý vytvára hodnoty naskenované zo zadaného súboru. Rozdeľuje údaje do tokenovej formy. Používa vzor oddeľovača, ktorý štandardne zodpovedá bielemu priestoru. Výsledné tokeny sa potom prevedú na hodnoty rôznych typov pomocou metód next().

Príklad

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

Výkon:

 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 

Metóda Java String.split().

Java String.split() identifikuje oddeľovač a rozdelí riadky na tokeny.

Syntax

 public String[] split(String regex) 

Metóda analyzuje ohraničujúci regulárny výraz. Metóda vráti pole reťazcov vypočítané rozdelením tohto reťazca okolo zhôd daného regulárneho výrazu.

Zvážte reťazec:

'toto:je:a:tabuľka' Regex Výsledok : {'toto', 'je', 'a', 'tabuľka'}

Príklad

V nasledujúcom príklade používame triedu BufferedReader, ktorá číta súbor riadok po riadku, kým sa nedosiahne znak EOF (koniec súboru).

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

Výkon:

 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] 

Použitie OpenCSV API

OpenCSV je API tretej strany, ktoré poskytuje štandardné knižnice na čítanie rôznych verzií súboru CSV. Knižnica poskytuje lepšiu kontrolu pri práci so súborom CSV. Knižnica dokáže čítať aj formát súboru TDF (Tab-Delimited File).

Vlastnosti OpenCSV

  • Ľubovoľný počet hodnôt na riadok.
  • Ignoruje čiarky v úvodzovkách.
  • Spracováva záznamy, ktoré zahŕňajú viacero riadkov.

The CSVReader trieda sa používa na čítanie súboru CSV. Trieda poskytuje konštruktor triedy CSVReader na analýzu súboru CSV.

Syntax

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

Parametre

súbor c++

čitateľ: Čitateľ na zdroj CSV.

oddeľovač: Je to oddeľovač, ktorý sa používa na oddeľovanie položiek.

Kroky na čítanie súboru CSV v Eclipse:

Krok 1: Vytvorte súbor triedy s názvom Prečítajte si príklad CSV3 a napíšte nasledujúci kód.

Krok 2: Vytvor lib priečinok v projekte.

Krok 3: Stiahnuť ▼ opecsv-3.8.jar od

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

Krok 4: Skopírujte opencsv-3.8.jar a vložte do priečinka lib.

Krok 5: Teraz spustite program.

Príklad

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

Výkon:

 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 

Čítanie súboru CSV s iným oddeľovačom

V nasledujúcom súbore CSV sme na oddelenie tokenov použili bodkočiarku (;).

Ako čítať súbor CSV v jazyku Java

Príklad

reťazec obsahuje java
 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(); } } } 

Výkon:

 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