[java] OpenCSV를 사용하여 CSV 파일의 데이터를 병합하는 방법은?
먼저, Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 OpenCSV를 프로젝트에 추가합니다. Maven을 사용하는 경우 pom.xml
파일에 다음 의존성을 추가합니다:
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.3</version>
</dependency>
Gradle을 사용하는 경우 build.gradle
파일에 다음 의존성을 추가합니다:
implementation 'com.opencsv:opencsv:5.3'
이제 OpenCSV를 사용하여 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 outputFilePath = "merged.csv";
List<String[]> data = new ArrayList<>();
// 병합할 CSV 파일들의 경로
String[] inputFilePaths = {"file1.csv", "file2.csv"};
// CSV 파일을 읽어 데이터를 가져옴
for (String inputFilePath : inputFilePaths) {
try (CSVReader reader = new CSVReader(new FileReader(inputFilePath))) {
String[] line;
while ((line = reader.readNext()) != null) {
data.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
// CSV 파일을 쓰기 위한 FileWriter 및 CSVWriter 생성
try (CSVWriter writer = new CSVWriter(new FileWriter(outputFilePath))) {
// 데이터를 CSV 파일에 쓰기
for (String[] line : data) {
writer.writeNext(line);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("CSV 병합이 완료되었습니다. 파일 경로: " + outputFilePath);
}
}
이 코드는 file1.csv
와 file2.csv
파일의 데이터를 가져와서 merged.csv
파일에 병합합니다. String outputFilePath
를 원하는 출력 파일 경로로 변경하십시오.
OpenCSV를 사용하면 CSV 파일을 읽고 쓰는 기능을 쉽게 구현할 수 있습니다. 위의 예시 코드에서는 CSVReader
를 사용하여 파일을 읽고, CSVWriter
를 사용하여 파일을 씁니다. 데이터는 String[]
배열로 나타내며, writeNext()
메서드를 사용하여 CSV 파일에 쓸 수 있습니다.
더 자세한 정보를 원하시는 경우 OpenCSV 공식 문서를 참조하십시오.