[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
변수에는 복사할 특정 열 번호를 입력합니다. 코드를 실행하면 원본 파일에서 선택한 열의 값을 가진 복사본이 생성됩니다.