【发布时间】:2022-01-10 10:17:48
【问题描述】:
任何线索为什么在第 [1] 行出现错误(找不到符号行)?我想根据 CSV 文件中的第 1 行对数据进行分组,但我没有这样做。
private final static String COMMA_DELIMITER = ",";
public List<List<String>> readCSVFile() throws IOException{
List<List<String>> result = Files.readAllLines(Paths.get("D:\\APLC\\time_series_covid19_confirmed_global.csv"))
.stream()
.skip(1)
.map(line -> Arrays.asList(line.split(COMMA_DELIMITER)))
.collect(Collectors.groupingBy(line[1]).toList());
return result;
}
}
样本输出: 从: |国家| 20/06/2021| 21/06/2021 | |:---- |:-----:| -----:| |马来西亚| 1 | 2 | |马来西亚| 1 | 2 | |马来西亚| 1 | 2 |
到: |国家| 20/06/2021| 21/06/2021 | |:---- |:-----:| -----:| |马来西亚| 3 | 6 |
【问题讨论】:
-
您的意思是按第 1 列分组吗?您能分享示例输入和预期输出吗?
-
例如,有多个列具有相同的值(例如:马来西亚),但它们位于名为“Country”的一行之下。因此,我想将所有数据合并到一个名为“马来西亚”的列中。
-
知道了。我认为您正在交换行和列。 CSV 的每一行都是一行,一行中的每个命令分隔值是一列。我假设您想按列
Country对数据进行分组,而这恰好是第一列。再次请求您编辑问题以共享示例输入和输出。 -
我强烈建议您改用 CSV 解析器。如果任何字段值包含分隔符,您的代码将中断。
-
你得到什么错误?编译时错误,还是运行时错误?请粘贴您收到的错误信息。
标签: java functional-programming