我試圖收集CSV行如何收集CSV行作爲字符串數組:如使用<a href="https://github.com/arnaudroger/SimpleFlatMapper" rel="nofollow noreferrer">simpleflatmapper</a>字符串數組使用simpleflatmapper
try (Reader in = Files.newBufferedReader("path")) {
return org.simpleflatmapper.csv.CsvParser
// .mapTo(String[].class)
.stream(in)
// .parallel()
// .flatMap(Arrays::stream)
.map(line -> {return new ArrayList<>(Arrays.asList(line));})
// .map(Arrays::asList)
.collect(Collectors.toList());
} catch (Exception e) {
e.printStackTrace();
}
正如我調試時,line
是String[]
但價值是整個行(一個元素)而不是許多字符串(許多單元格)。我怎樣才能獲得細胞陣列?
CSV文件並不特別。例如:
一個\ TB \噸1 \噸2
X \泰\噸3 \噸4
的問題,因爲我看到在這個代碼.map(line -> {return new ArrayList<>(Arrays.asList(line));})
該line
包含一個字符串值,該值是整行(與選項卡,空間...),而不是許多字符串(每個字符串是每個單元格的值)。
我想要的全部結果是List<List<String>>
(行列表)。每行是List<String>
(單元格列表)。當前結果是行(行)列表,每行/行是整個字符串。
您使用的是什麼CSV分析器?網絡搜索似乎只能找到「CSVParser」類。沒有'CsvParser'。既然你的問題是關於'CsvParser'生成的Stream,當我們不知道它是什麼時,你如何期望我們提供幫助? – Andreas
我正在使用simpleflatmapper。 – aviit
我寫過,我正在使用simpleflatmapper,但因爲這個原因有三個反對票。 – aviit