[java] OpenCSV를 사용하여 CSV 파일에서 임의로 중복된 데이터를 제거하는 방법은?
- 먼저, CSV 파일을 읽어올
CSVReader
객체를 생성합니다.CSVReader reader = new CSVReader(new FileReader("파일경로"));
- 중복된 데이터를 제거하기 위해
Set
컬렉션을 사용합니다.Set
은 중복된 값을 허용하지 않는 특징을 가지고 있기 때문에 중복된 데이터가 제거됩니다.Set<String> uniqueData = new HashSet<>();
CSVReader
객체를 통해 파일의 데이터를 한 줄씩 읽어옵니다.String[] nextLine; while ((nextLine = reader.readNext()) != null) { // CSV 파일의 데이터를 읽어온 후 중복 여부를 판단합니다. String data = nextLine[0]; // 중복을 확인할 데이터 필드를 선택합니다. // 중복된 데이터가 아닌 경우에만 Set에 추가합니다. if (!uniqueData.contains(data)) { uniqueData.add(data); } }
- 중복이 제거된 데이터를 저장할 새로운 CSV 파일을 생성합니다. ```java CSVWriter writer = new CSVWriter(new FileWriter(“새로운파일경로”));
// Set을 배열로 변환한 후, 새로운 파일에 쓰기 작업을 수행합니다. writer.writeAll(uniqueData.toArray(new String[0]));
// 파일 작성 후에는 리소스를 해제합니다. writer.close(); ```
이제 위의 코드를 사용하여 CSV 파일에서 중복된 데이터를 제거할 수 있습니다. OpenCSV를 사용하면 CSV 파일을 쉽게 읽고 쓸 수 있으며, Set
컬렉션을 이용하여 중복된 데이터를 제거할 수 있습니다.
자세한 내용은 OpenCSV의 공식 문서를 참조하시기 바랍니다.