logo

Java에서 CSV 파일을 읽는 방법

그만큼 CSV 약자 쉼표로 구분된 값 . 스프레드시트나 데이터베이스와 같은 간단한 텍스트 형식으로 표 형식의 데이터를 저장하는 데 사용되는 간단한 파일 형식입니다. 파일은 CSV 형식은 테이블에 데이터를 저장하는 프로그램(Microsoft Office 및 Excel)으로 가져오거나 내보낼 수 있습니다. CSV 파일은 구분 기호를 사용하여 파일의 다양한 데이터 토큰을 식별하고 구분했습니다. CSV 파일 형식은 기본적으로 호환되지 않는 형식으로 작동하는 프로그램 간에 표 형식 데이터를 이동할 때 사용됩니다. Java에서 CSV 파일을 읽는 방법은 다음과 같습니다. CSV 파일의 기본 구분 기호는 반점 (,) .

Java에서 배열을 인쇄하는 방법은 다음과 같습니다.

  • 자바 스캐너 수업
  • 자바 문자열.분할() 방법
  • 사용 오픈CSV API

CSV 파일을 만드는 방법

CSV 파일을 만드는 방법에는 두 가지가 있습니다.

  • 사용 마이크로 소프트 엑셀
  • 사용 메모장

마이크로소프트 엑셀 사용

1 단계: 마이크로소프트 엑셀을 엽니다.

2 단계: 파일에 다음 데이터를 씁니다.

Java에서 CSV 파일을 읽는 방법

3단계: 이제 파일을 저장하세요. 파일 이름을 제공하세요 CSV데모 CSV(쉼표로 구분)를 선택하세요. 유형으로 저장 메뉴. 이제 저장 버튼을 클릭하세요.

Java에서 CSV 파일을 읽는 방법

메모장 사용

1 단계: 열려 있는 메모장 .

2 단계: 일부 데이터를 다음으로 구분된 파일에 씁니다. 반점 (,) . 예를 들어:

비벡, 싱, 23, 9999999, 찬디가르

3단계: 다음으로 파일을 저장하세요. .csv 확대.

다음 파일을 만들었습니다.

Java에서 CSV 파일을 읽는 방법

자바 스캐너 클래스

자바 스캐너 클래스는 CSV 파일을 읽을 수 있는 다양한 방법을 제공합니다. Scanner 클래스는 지정된 파일에서 스캔된 값을 생성하는 생성자를 제공합니다. 데이터를 토큰 형식으로 나눕니다. 기본적으로 공백과 일치하는 구분 기호 패턴을 사용합니다. 그런 다음 결과 토큰은 next() 메서드를 사용하여 다양한 유형의 값으로 변환됩니다.

 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 

자바 String.split() 메서드

자바 문자열.분할() 구분 기호를 식별하고 행을 토큰으로 분할합니다.

통사론

 public String[] split(String regex) 

이 메서드는 구분 정규식을 구문 분석합니다. 이 메서드는 주어진 정규식과 일치하는 항목을 중심으로 이 문자열을 분할하여 계산된 문자열 배열을 반환합니다.

자바의 다형성

문자열을 고려해보세요:

'이:is:a:테이블' 정규식 결과 : {'이것', '이다', 'a', '테이블'}

다음 예제에서는 EOF(파일 끝) 문자에 도달할 때까지 파일을 한 줄씩 읽는 BufferedReader 클래스를 사용합니다.

자바에서 문자열 뒤집기
 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는 다양한 버전의 CSV 파일을 읽을 수 있는 표준 라이브러리를 제공하는 타사 API입니다. 라이브러리는 CSV 파일을 처리하기 위한 더 나은 제어 기능을 제공합니다. 라이브러리는 TDF(Tab-Delimited File) 파일 형식도 읽을 수 있습니다.

OpenCSV의 특징

  • 한 줄에 원하는 수의 값이 있습니다.
  • 인용된 요소의 쉼표를 무시합니다.
  • 여러 줄에 걸쳐 있는 항목을 처리합니다.

그만큼 CSV리더 클래스는 CSV 파일을 읽는 데 사용됩니다. 이 클래스는 CSVReader 클래스 생성자를 제공하여 CSV 파일을 구문 분석합니다.

통사론

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

매개변수

리더: CSV 소스에 대한 리더입니다.

분리 기호: 항목을 구분하는 데 사용되는 구분 기호입니다.

Eclipse에서 CSV 파일을 읽는 단계:

1 단계: 이름으로 클래스 파일을 만듭니다. 읽기CSV예제3 그리고 다음 코드를 작성하세요.

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단계: 이제 프로그램을 실행해 보세요.

 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 파일에서는 세미콜론(;)을 사용하여 토큰을 구분했습니다.

Java에서 CSV 파일을 읽는 방법

 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