[java] OpenCSV를 사용하여 CSV 파일의 특정 행을 삭제하는 방법은?
- OpenCSV를 프로젝트에 추가합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 종속성을 추가할 수 있습니다.
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.2</version>
</dependency>
- CSV 파일을 읽고 수정하기 위해 OpenCSV의 CSVReader를 사용합니다. 다음 코드는 CSV 파일을 읽기 위해 CSVReader를 초기화 하는 방법을 보여줍니다.
import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CSVManipulation {
public static void main(String[] args) {
String csvFile = "path/to/csv/file.csv";
String outputFile = "path/to/output/file.csv";
int rowToDelete = 2; // 삭제할 행의 인덱스
try (CSVReader reader = new CSVReader(new FileReader(csvFile));
FileWriter writer = new FileWriter(outputFile)) {
String[] nextLine;
int currentRow = 0;
while ((nextLine = reader.readNext()) != null) {
currentRow++;
// 삭제할 행이 아닌 경우에만 결과 파일에 쓴다.
if (currentRow != rowToDelete) {
writer.writeNext(nextLine);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 코드에서 rowToDelete
변수를 실행하고자 하는 행의 인덱스로 설정합니다. 삭제하려는 행이 여러 개인 경우에는 이 코드를 수정하여 해당하는 행을 삭제할 수 있습니다.
-
csvFile
변수에 입력 CSV 파일의 경로를,outputFile
변수에는 결과를 저장할 CSV 파일의 경로를 설정합니다. -
코드를 실행하면 지정된 행이 삭제된 후의 새로운 CSV 파일이 생성됩니다.
OpenCSV를 사용하면 CSV 파일을 쉽게 읽고 쓸 수 있으며, 특정 행을 삭제하는 것도 간단합니다.
참고 문서:
- OpenCSV 공식 문서: http://opencsv.sourceforge.net/
- Maven 중앙 저장소에서 OpenCSV 가져오기: https://search.maven.org/artifact/com.opencsv/opencsv