[java] OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 피벗하는 방법은?

CSV 파일에서 데이터를 피벗하는 것은 데이터 처리 및 분석 작업에서 매우 일반적인 작업입니다. 이를 위해 OpenCSV 라이브러리를 사용하여 Java에서 CSV 파일을 읽고 피벗할 수 있습니다.

먼저, OpenCSV를 프로젝트에 추가해야합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가하십시오.

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.4</version>
</dependency>

CSV 파일을 읽기 위해 OpenCSV의 CSVReader 객체를 사용합니다. 이를 통해 파일에서 각 행의 데이터를 읽을 수 있습니다. 피벗 작업은 데이터를 재구성하는 것이므로, 데이터를 어떻게 재배치할지 정해야합니다.

다음은 CSV 파일에서 데이터를 읽고 피벗하는 Java 코드의 예입니다.

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class PivotCSVData {
    public static void main(String[] args) {
        try {
            CSVReader reader = new CSVReader(new FileReader("data.csv"));
            List<String[]> rows = reader.readAll();

            Map<String, Map<String, String>> pivotedData = new HashMap<>();

            for (String[] row : rows) {
                String pivotColumnValue = row[0];
                String columnKey = row[1];
                String cellValue = row[2];

                if (!pivotedData.containsKey(pivotColumnValue)) {
                    pivotedData.put(pivotColumnValue, new HashMap<>());
                }

                pivotedData.get(pivotColumnValue).put(columnKey, cellValue);
            }

            // Pivoted data is ready, you can further process or display it.
            System.out.println(pivotedData);

            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예제는 CSV 파일에서 데이터를 읽고, 첫 번째 열을 피벗 컬럼으로 사용하고, 두 번째 열을 키로 사용하여 피벗된 데이터를 만들어내는 방법을 보여줍니다. 생성된 Map 객체 pivotedData 에는 피벗된 데이터가 저장됩니다.

이 예제를 실행하면 data.csv 파일로부터 데이터를 읽어와서 피벗 데이터를 생성하고, 그 결과를 출력합니다.

이와 같이 OpenCSV를 사용하여 CSV 파일의 데이터를 피벗하는 방법을 살펴보았습니다. OpenCSV의 다양한 기능을 활용하여 데이터 처리 작업을 쉽게 수행할 수 있습니다.


참고: