Skip first line using Open CSV reader

两盒软妹~` 提交于 2019-12-09 02:22:00

问题


Here is the line i am using currently

File booleanTopicFile;
// booleanTopicFile is csv file uploaded from form
CSVReader csvReader = new CSVReader(new InputStreamReader(new FileInputStream(booleanTopicFile), "UTF-8"));

Want to skip the first line of the csv which contains headings. I dont want to use any separator as except the default one comma(,) which is already available in default constructor. In parameterized constructor there is a option to skip no. of lines but how to deal with the 2nd and 3rd param of the constructor.

CSVReader csvReader = new CSVReader(new InputStreamReader(Reader reader, char c, char c1, int index);

-- Thanks


回答1:


This constructor of CSVReader class will skip 1st line of the csv while reading the file.

CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 1);



回答2:


I found this question and response helpful, I'd like to expand on Christophe Roussy's comment. In the latest opencsv (2.3 as of this writing) The actual line of code is:

new CSVReader( new StringReader(csvText), CSVParser.DEFAULT_SEPARATOR,
               CSVParser.DEFAULT_QUOTE_CHARACTER, 1);

Note it uses CSVParser instead of CSVReader.




回答3:


At least since version 3.8 you can use the CSVReaderBuilder and set it to skip the first line.

Example:

CSVReader reader = new CSVReaderBuilder(inputStreamReader)
                .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
                // Skip the header
                .withSkipLines(1)
                .build();



回答4:


with latest version opencsv version use -

CSVReader csvReader = new CSVReaderBuilder(new FileReader("book.csv")).withSkipLines(1).build()




回答5:


You can also use withFilter:

watFileCsvBeans = new CsvToBeanBuilder<ClassType>(isr)
  .withType(ClassType.class)
  .withIgnoreLeadingWhiteSpace(true)
  // CsvToBeanFilter with a custom allowLine implementation
  .withFilter(line -> !line[0].equals("skipme"))
  .build()
  .parse();


来源:https://stackoverflow.com/questions/13579670/skip-first-line-using-open-csv-reader

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!