[java] OpenCSV를 사용하여 CSV 파일에서 임의로 특정 열을 복사하는 방법은?
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CsvColumnCopy {
    public static void main(String[] args) {
        String sourceFile = "input.csv"; // 원본 파일 경로
        String destinationFile = "output.csv"; // 복사할 파일 경로
        int columnToCopy = 2; // 복사할 열 번호 (0부터 시작)

        try {
            // 원본 파일 열기
            CSVReader reader = new CSVReader(new FileReader(sourceFile));
            // 복사할 파일 열기
            CSVWriter writer = new CSVWriter(new FileWriter(destinationFile));

            String[] nextLine;
            while ((nextLine = reader.readNext()) != null) {
                // 복사할 열 값 가져오기
                String columnValue = nextLine[columnToCopy];
                // 복사할 파일에 열 값 추가
                writer.writeNext(new String[]{columnValue});
            }

            // 파일 닫기
            reader.close();
            writer.close();

            System.out.println("특정 열이 복사되었습니다.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드를 사용하면 OpenCSV를 사용하여 CSV 파일에서 특정 열을 복사할 수 있습니다. sourceFile 변수에 원본 파일 경로를, destinationFile 변수에 복사될 파일 경로를 입력합니다. columnToCopy 변수에는 복사할 특정 열 번호를 입력합니다. 코드를 실행하면 원본 파일에서 선택한 열의 값을 가진 복사본이 생성됩니다.

출처

OpenCSV Documentation