这是我目前使用的线路
File booleanTopicFile;
// booleanTopicFile is csv file uploaded from form
CSVReader csvReader = new CSVReader(new InputStreamReader(new FileInputStream(booleanTopicFile), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
想要跳过包含标题的csv的第一行.我不想使用任何分隔符,除了默认构造函数中已有的默认一个逗号(,).在参数化构造函数中,有一个跳过否的选项.行但是如何处理构造函数的第2和第3个参数.
CSVReader csvReader = new CSVReader(new InputStreamReader(Reader reader, char c, char c1, int index);
Run Code Online (Sandbox Code Playgroud)
- 谢谢
小智 27
CSVReader类的这个构造函数将在读取文件时跳过csv的第1行.
CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 1);
Run Code Online (Sandbox Code Playgroud)
小智 12
我发现这个问题和回答很有帮助,我想扩展一下Christophe Roussy的评论.在最新的opencsv(撰写本文时为2.3)实际的代码行是:
new CSVReader( new StringReader(csvText), CSVParser.DEFAULT_SEPARATOR,
CSVParser.DEFAULT_QUOTE_CHARACTER, 1);
Run Code Online (Sandbox Code Playgroud)
请注意,它使用CSVParser而不是CSVReader.
daz*_*ito 11
至少从版本3.8开始,您可以使用CSVReaderBuilder
并将其设置为跳过第一行.
例:
CSVReader reader = new CSVReaderBuilder(inputStreamReader)
.withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
// Skip the header
.withSkipLines(1)
.build();
Run Code Online (Sandbox Code Playgroud)
与最新版本的 opencsv 版本一起使用 -
CSVReader csvReader = new CSVReaderBuilder(new FileReader("book.csv")).withSkipLines(1).build()
归档时间: |
|
查看次数: |
24337 次 |
最近记录: |