logo

Jak číst soubor CSV v Javě

The CSV znamená Hodnoty oddělené čárkami . Jedná se o jednoduchý formát souboru, který se používá k ukládání tabulkových dat v jednoduché textové formě, jako je tabulka nebo databáze. Soubory v CSV formát lze importovat a exportovat z programů (Microsoft Office a Excel), které ukládají data v tabulkách. Soubor CSV používal oddělovač k identifikaci a oddělení různých datových tokenů v souboru. Formát souboru CSV se používá, když přesouváme tabulková data mezi programy, které nativně pracují v nekompatibilních formátech. Existují následující způsoby, jak číst soubor CSV v Javě. Výchozí oddělovač souboru CSV je a čárka (,) .

Existují následující způsoby, jak vytisknout pole v Javě:

podřetězec řetězec java
  • Jáva Skener třída
  • Jáva String.split() metoda
  • Použitím OpenCSV API

Jak vytvořit soubor CSV

Soubor CSV lze vytvořit dvěma způsoby:

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

Pomocí aplikace Microsoft Excel

Krok 1: Otevřete aplikaci Microsoft Excel.

Krok 2: Do souboru zapište následující údaje:

Jak číst soubor CSV v Javě

Krok 3: Nyní uložte soubor. Zadejte název souboru CSVDemo a vyberte CSV (oddělený čárkami) z uložit jako typ Jídelní lístek. Nyní klikněte na tlačítko Uložit.

Jak číst soubor CSV v Javě

Pomocí programu Poznámkový blok

Krok 1: OTEVŘENO poznámkový blok .

Krok 2: Zapište některá data do souboru odděleného čárka (,) . Například:

Vivek, Singh, 23, 9999999, Chandigarh

Krok 3: Uložte soubor s .csv rozšíření.

Vytvořili jsme následující soubor.

Jak číst soubor CSV v Javě

Třída Java Scanner

Jáva Skener třídy poskytují různé metody, kterými můžeme číst soubor CSV. Třída Scanner poskytuje konstruktor, který vytváří hodnoty naskenované ze zadaného souboru. Rozdělí data do formy tokenu. Používá vzor oddělovače, který ve výchozím nastavení odpovídá prázdnému místu. Výsledné tokeny se poté převedou na hodnoty různých typů pomocí metod next().

Pří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ýstup:

 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 

Metoda Java String.split().

Jáva String.split() identifikuje oddělovač a rozdělí řádky na tokeny.

Syntax

 public String[] split(String regex) 

Metoda analyzuje oddělovací regulární výraz. Metoda vrací pole řetězců vypočítané rozdělením tohoto řetězce kolem shod daného regulárního výrazu.

Zvažte řetězec:

'toto je stůl' Regex Výsledek : {'toto je stůl'}

Příklad

V následujícím příkladu používáme třídu BufferedReader, která čte soubor řádek po řádku, dokud není dosaženo znaku EOF (konec souboru).

 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ýstup:

 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žití OpenCSV API

OpenCSV je API třetích stran, které poskytuje standardní knihovny pro čtení různých verzí souboru CSV. Knihovna poskytuje lepší kontrolu při práci se souborem CSV. Knihovna také umí číst soubor ve formátu TDF (Tab-Delimited File).

Vlastnosti OpenCSV

  • Libovolný počet hodnot na řádek.
  • Ignoruje čárky v prvcích v uvozovkách.
  • Zpracovává záznamy, které zahrnují více řádků.

The CSVReader třída se používá ke čtení souboru CSV. Třída poskytuje konstruktor třídy CSVReader pro analýzu souboru CSV.

Syntax

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

Parametry

čtenář: Čtenář ke zdroji CSV.

oddělovač: Je to oddělovač, který se používá k oddělení položek.

Kroky ke čtení souboru CSV v Eclipse:

Krok 1: Vytvořte soubor třídy s názvem Přečtěte si CSVEpříklad3 a napište následující kód.

Krok 2: Vytvořit lib složku v projektu.

Krok 3: Stažení opecsv-3.8.jar z

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

Krok 4: Zkopírujte opencsv-3.8.jar a vložte do složky lib.

Krok 5: Nyní spusťte program.

Pří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ýstup:

 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 

Čtení souboru CSV s jiným oddělovačem

V následujícím souboru CSV jsme k oddělení tokenů použili středník (;).

Jak číst soubor CSV v Javě

Příklad

boto3
 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ýstup:

 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