logo

Як читати файл CSV на Java

The CSV виступає за Значення, розділені комами . Це простий формат файлу, який використовується для зберігання табличних даних у простій текстовій формі, такій як електронна таблиця або база даних. Файли в CSV можна імпортувати та експортувати з програм (Microsoft Office і Excel), які зберігають дані в таблицях. Файл CSV використовував роздільник для ідентифікації та розділення різних маркерів даних у файлі. Формат файлу CSV використовується, коли ми переміщуємо табличні дані між програмами, які нативно працюють у несумісних форматах. Є такі способи читання файлу CSV у Java. Стандартним роздільником у файлі CSV є a кома (,) .

Існують наступні способи друку масиву в Java:

  • Java Сканер клас
  • Java String.split() метод
  • Використання OpenCSV API

Як створити файл CSV

Є два способи створити файл CSV:

назва спеціальних символів
  • Використання Microsoft Excel
  • Використання Блокнот

Використання Microsoft Excel

Крок 1: Відкрийте Microsoft Excel.

крок 2: Запишіть у файл такі дані:

Як читати файл CSV на Java

крок 3: Тепер збережіть файл. Вкажіть назву файлу CSVDemo і виберіть CSV (розділені комами) у списку зберегти як тип меню. Тепер натисніть кнопку Зберегти.

Як читати файл CSV на Java

Використання Блокнота

Крок 1: ВІДЧИНЕНО блокнот .

крок 2: Запишіть деякі дані у файл, розділивши кома (,) . Наприклад:

Вівек, Сінгх, 23, 9999999, Чандігарх

крок 3: Збережіть файл за допомогою .csv розширення.

Ми створили наступний файл.

Як читати файл CSV на Java

Клас Java Scanner

Java Сканер клас надає різні методи, за допомогою яких ми можемо читати файл CSV. Клас Scanner надає конструктор, який створює значення, скановані з указаного файлу. Він розбиває дані у форму маркера. Він використовує шаблон розділювача, який за замовчуванням відповідає пробілу. Потім отримані маркери перетворюються на значення різних типів за допомогою методів next().

приклад

arraylist java sort
 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 } } 

Вихід:

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

Java String.split() визначає роздільник і розбиває рядки на маркери.

Синтаксис

 public String[] split(String regex) 

Метод аналізує розмежувальний регулярний вираз. Метод повертає масив рядків, обчислений шляхом розбиття цього рядка навколо збігів даного регулярного виразу.

Розглянемо рядок:

приклади коду javascript

'це:це:стіл' Регулярний вираз Результат : {'this', 'is', 'a', 'table'}

приклад

У наступному прикладі ми використовуємо клас BufferedReader, який читає файл рядок за рядком, доки не буде досягнуто символ EOF (кінець файлу).

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

Вихід:

 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] 

Використання OpenCSV API

OpenCSV — це сторонній API, який надає стандартні бібліотеки для читання різних версій файлу CSV. Бібліотека забезпечує кращий контроль для обробки файлу CSV. Бібліотека також може читати формат файлу TDF (файл із роздільником табуляцією).

Особливості OpenCSV

  • Будь-яка кількість значень на рядок.
  • Ігнорує коми в лапках.
  • Обробляє записи, які охоплюють кілька рядків.

The CSVReader клас використовується для читання файлу CSV. Клас надає конструктор класу CSVReader для аналізу файлу CSV.

Синтаксис

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

Параметри

кутовий матеріал

читач: Читач до джерела CSV.

роздільник: Це роздільник, який використовується для розділення записів.

Кроки для читання файлу CSV у eclipse:

Крок 1: Створіть файл класу з іменем Прочитайте CSVExample3 і напишіть наступний код.

крок 2: Створити lib папку в проекті.

крок 3: Завантажити opecsv-3.8.jar від

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

крок 4: Скопіюйте opencsv-3.8.jar і вставте в папку lib.

крок 5: Тепер запустіть програму.

приклад

ipconfig на Ubuntu
 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(); } } } 

Вихід:

 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 

Читання файлу CSV з іншим роздільником

У наведеному нижче файлі CSV ми використали крапку з комою (;) для розділення токенів.

Як читати файл CSV на 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(); } } } 

Вихід:

 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