Запись конкретных столбцов в CSV-файл с использованием Java

Я могу прочитать определенные столбцы из входного файла CSV и распечатать их на консоли, но мое требование - записать их в другой файл CSV. Мне нужно извлечь три конкретных заголовка столбцов вместе с их данными и записать их в другой файл CSV. Я пишу его в другой CSV Я получаю только последние значения строк извлеченных столбцов в выходной CSV, а также объединены и отображаются в том же столбце без разделения разделителя. Пожалуйста, помогите мне, как решить эту проблему. Заранее спасибо. Я написал следующее.

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;

import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;

public class sample {
      public static void main(String[] args) {
        try {
          //csv file containing data
          String strFile = "F:\\text.csv";
          CSVReader reader = new CSVReader(new FileReader(strFile));
          String [] nextLine;
          int lineNumber = 0;
          while ((nextLine = reader.readNext()) != null) {
            lineNumber++;
            //System.out.println("Line # " + lineNumber);

            // nextLine[] is an array of values from the line
            System.out.println(nextLine[2]);
            System.out.println(nextLine[3]);
            System.out.println(nextLine[4]);


           FileWriter writer = new FileWriter("F:\\sample.csv");
          writer.write(nextLine[2]);
          writer.write(nextLine[3]);
          writer.write(nextLine[4]);
          writer.flush();
          }
        }catch (IOException e){

        }
      }

}

0 ответов

Другие вопросы по тегам