logo

Jak czytać plik CSV w Javie

The CSV oznacza Wartości oddzielone przecinkami . Jest to prosty format pliku używany do przechowywania danych tabelarycznych w prostej formie tekstowej, takiej jak arkusz kalkulacyjny lub baza danych. Pliki w CSV formacie można importować i eksportować z programów (Microsoft Office i Excel), które przechowują dane w tabelach. W pliku CSV zastosowano ogranicznik do identyfikowania i oddzielania różnych tokenów danych w pliku. Format pliku CSV wykorzystujemy, gdy przenosimy dane tabelaryczne pomiędzy programami, które natywnie działają na niekompatybilnych formatach. Istnieją następujące sposoby odczytu pliku CSV w Javie. Domyślnym separatorem pliku CSV jest a przecinek (,) .

Istnieją następujące sposoby drukowania tablicy w Javie:

  • Jawa Skaner klasa
  • Jawa String.split() metoda
  • Za pomocą Otwórz CSV API

Jak utworzyć plik CSV

Istnieją dwa sposoby utworzenia pliku CSV:

  • Za pomocą Microsoft Excel
  • Za pomocą Notatnik

Korzystanie z Microsoft Excel

Krok 1: Otwórz Microsoft Excel.

Krok 2: Wpisz do pliku następujące dane:

Jak odczytać plik CSV w Javie

Krok 3: Teraz zapisz plik. Podaj nazwę pliku CSVDemo i wybierz CSV (rozdzielany przecinkami) z pliku Zapisz jako typ menu. Teraz kliknij przycisk Zapisz.

Jak odczytać plik CSV w Javie

Korzystanie z Notatnika

Krok 1: otwarty notatnik .

Krok 2: Zapisz dane do pliku oddzielonego znakami przecinek (,) . Na przykład:

Vivek, Singh, 23, 9999999, Chandigarh

co to jest system plików Linuksa

Krok 3: Zapisz plik za pomocą .csv rozszerzenie.

Stworzyliśmy następujący plik.

Jak odczytać plik CSV w Javie

Klasa skanera Java

Jawa Skaner class udostępniają różne metody, dzięki którym możemy odczytać plik CSV. Klasa Scanner udostępnia konstruktor generujący wartości zeskanowane z określonego pliku. Dzieli dane na formę tokenu. Używa wzorca ograniczników, który domyślnie dopasowuje białe znaki. Powstałe tokeny są następnie konwertowane na wartości różnych typów przy użyciu metod next().

Przykład

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

Wyjście:

 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().

Jawa String.split() identyfikuje ogranicznik i dzieli wiersze na tokeny.

Składnia

 public String[] split(String regex) 

Metoda analizuje ograniczające wyrażenie regularne. Metoda zwraca tablicę ciągów obliczoną poprzez podzielenie tego ciągu wokół dopasowań danego wyrażenia regularnego.

Rozważ ciąg:

'to jest stół' Wyrażenie regularne Wynik : {'to jest stół'}

q2 miesiące

Przykład

W poniższym przykładzie używamy klasy BufferedReader, która czyta plik linia po linii, aż do osiągnięcia znaku EOF (końca pliku).

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

Wyjście:

 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] 

Korzystanie z API OpenCSV

OpenCSV to interfejs API strony trzeciej, który udostępnia standardowe biblioteki do odczytu różnych wersji pliku CSV. Biblioteka zapewnia lepszą kontrolę nad obsługą pliku CSV. Biblioteka może także czytać pliki w formacie TDF (plik rozdzielany tabulatorami).

Funkcje OpenCSV

  • Dowolna liczba wartości w linii.
  • Ignoruje przecinki w cytowanych elementach.
  • Obsługuje wpisy obejmujące wiele linii.

The CSVReader klasa służy do odczytu pliku CSV. Klasa udostępnia konstruktora klasy CSVReader do analizowania pliku CSV.

Składnia

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

Parametry

Algorytm sortowania sterty

czytelnik: Czytnik do źródła CSV.

separator: Jest to separator używany do oddzielania wpisów.

Kroki, aby odczytać plik CSV w Eclipse:

Krok 1: Utwórz plik klasy o nazwie PrzeczytajCSVPrzykład3 i napisz następujący kod.

Krok 2: Stwórz biblioteka folderze w projekcie.

Krok 3: Pobierać opecsv-3.8.jar z

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

Krok 4: Skopiuj opencsv-3.8.jar i wklej do folderu lib.

Krok 5: Teraz uruchom program.

Przykład

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

Wyjście:

 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 

Odczyt pliku CSV z innym separatorem

W poniższym pliku CSV użyliśmy średnika (;) do oddzielenia tokenów.

Jak odczytać plik CSV w Javie

Przykład

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

Wyjście:

 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