[java] OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 변환하는 방법은?
  1. OpenCSV 라이브러리 설치: 먼저, 프로젝트에 OpenCSV 라이브러리를 추가해야 합니다. Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 OpenCSV를 추가할 수 있습니다. 아래는 Maven을 사용하는 경우의 예입니다.
<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.2</version>
</dependency>
  1. CSV 파일 읽기: CSV 파일의 데이터를 읽어올 수 있는 CSVReader 클래스를 사용합니다. 아래는 CSV 파일을 읽어와서 각 라인을 출력하는 예제입니다.
import com.opencsv.CSVReader;

public class CSVReaderExample {
    public static void main(String[] args) {
        try (
            CSVReader reader = new CSVReader(new FileReader("파일경로"));
        ) {
            String[] nextLine;
            while ((nextLine = reader.readNext()) != null) {
                for (String value : nextLine) {
                    System.out.print(value + " | ");
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 데이터 변환: CSV 파일의 데이터를 변환하기 위해서는 각 라인에서 원하는 필드를 선택하고 원하는 방식으로 가공해야 합니다. 위 예제에서는 각 라인의 데이터를 그대로 출력하고 있습니다. 여기에서 필요한 가공 작업을 수행하면 됩니다. 예를 들어, 숫자 데이터를 처리하거나 문자열을 다른 형식으로 변환하는 등의 작업을 수행할 수 있습니다.

  2. CSV 파일 쓰기: 데이터를 변환한 후, 원하는 형태의 CSV 파일로 저장하고 싶다면 CSVWriter 클래스를 사용합니다. 아래는 CSV 파일에 데이터를 쓰는 예제입니다.

import com.opencsv.CSVWriter;

public class CSVWriterExample {
    public static void main(String[] args) {
        try (
            CSVWriter writer = new CSVWriter(new FileWriter("파일경로"));
        ) {
            String[] record1 = {"1", "이름1", "이메일1"};
            String[] record2 = {"2", "이름2", "이메일2"};
            
            writer.writeNext(record1);
            writer.writeNext(record2);
            
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제는 CSV 파일의 각 라인을 배열로 표현하여 작성하고 있습니다. 필요한 데이터를 배열에 저장한 후, writeNext 메서드를 사용해 데이터를 저장할 수 있습니다.

이상입니다. OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 변환하는 방법을 설명하였습니다. 추가적인 정보는 OpenCSV 공식 문서를 참고하시면 됩니다.

참고 자료: