[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 CSVDataDivider {
public static void main(String[] args) {
String inputFile = "input.csv";
String outputFile1 = "output1.csv";
String outputFile2 = "output2.csv";
try {
// CSV 파일을 읽고 데이터를 분할하여 새로운 파일에 저장
CSVReader reader = new CSVReader(new FileReader(inputFile));
CSVWriter writer1 = new CSVWriter(new FileWriter(outputFile1));
CSVWriter writer2 = new CSVWriter(new FileWriter(outputFile2));
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
// 여기에서 데이터를 분할하고 적절한 파일에 저장하는 로직을 구현
if (/* 분할 조건 */) {
writer1.writeNext(nextLine);
} else {
writer2.writeNext(nextLine);
}
}
// 리소스 정리
reader.close();
writer1.close();
writer2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제 코드는 OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 분할하는 방법을 보여줍니다.
CSVReader
를 통해 입력 파일을 읽습니다.CSVWriter
를 통해 분할된 데이터를 저장할 출력 파일을 생성합니다.readNext()
메서드를 사용하여 파일에서 한 줄씩 데이터를 읽습니다.- 분할 조건에 따라 데이터를 적절한 파일에 저장합니다.
- 파일 처리가 끝나면 리소스를 정리합니다.
이 예제에서는 분할 조건을 명시하지 않았으므로, 사용자가 필요에 따라 적절한 분할 조건을 구현해야 합니다. 예를 들어, 특정 열의 값이 특정 조건을 만족하는 경우에 분할할 수 있습니다.
OpenCSV 라이브러리의 자세한 사용법에 대해서는 공식 문서를 참조하세요.