[java] OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 병합하는 방법은?
먼저, OpenCSV 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 의존성을 추가하세요:
<dependencies>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.1</version>
</dependency>
</dependencies>
Gradle을 사용하는 경우, build.gradle
파일에 다음 의존성을 추가하세요:
dependencies {
implementation 'com.opencsv:opencsv:5.5.1'
}
이제 CSV 파일을 병합하는 코드를 작성해보겠습니다. 아래 예제는 두 개의 CSV 파일을 읽고, 데이터를 병합하여 새로운 CSV 파일을 생성하는 예제입니다.
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVMerger {
public static void main(String[] args) {
String file1 = "file1.csv";
String file2 = "file2.csv";
String mergedFile = "merged.csv";
mergeCSVFiles(file1, file2, mergedFile);
System.out.println("CSV files merged successfully.");
}
public static void mergeCSVFiles(String file1, String file2, String mergedFile) {
try {
CSVReader reader1 = new CSVReader(new FileReader(file1));
CSVReader reader2 = new CSVReader(new FileReader(file2));
List<String[]> lines1 = reader1.readAll();
List<String[]> lines2 = reader2.readAll();
List<String[]> mergedLines = new ArrayList<>(lines1);
mergedLines.addAll(lines2);
CSVWriter writer = new CSVWriter(new FileWriter(mergedFile));
writer.writeAll(mergedLines);
reader1.close();
reader2.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 코드에서 file1
, file2
, mergedFile
변수에 각각 병합 대상 파일의 경로와 병합 결과를 저장할 파일의 경로를 지정해야 합니다. 그리고 mergeCSVFiles
메서드를 호출하여 병합 작업을 수행합니다. 병합된 결과는 mergedFile
에 저장됩니다.
위의 예제는 기본적인 CSV 파일 병합 방법을 보여주고 있습니다. 필요에 따라 OpenCSV의 다른 기능을 사용하여 병합 작업을 커스터마이즈할 수도 있습니다.
OpenCSV에 대한 더 자세한 정보와 사용법은 OpenCSV 공식 문서를 참고하세요.