java - 如何使用 CSVReaderHeaderAware 并迭代列

标签 java csv arraylist opencsv

我正在编写一些代码,这些代码将从 csv 文件中获取球员姓名及其投篮百分比,并将其放入我创建的名为 PlayerStat 的对象中。我正在尝试使用 CSVReaderHeaderAware 来完成此任务。

这是我的代码:

    for (int i = 0; i < 100; i++){
            Map<String, String> values = new CSVReaderHeaderAware(new FileReader("stats.csv")).readMap();
            String playerName = values.get("Player Name");
            double shootPct = Double.parseDouble(values.get("Percentage"));
            PlayerStat stat = new PlayerStat(playerName, shootPct);
            theArrayList.add(stat);
        }

第一张 map 很好,可以完美地添加到列表中。但是,这段代码只是继续读取 csv 文件的第一行,我无法弄清楚如何继续迭代 csv 文件中的行。玩家姓名和百分比是我想要查看的两列。提前致谢!

最佳答案

这是一个猜测,但请尝试:

CSVReaderHeaderAware reader = new CSVReaderHeaderAware(new FileReader("stats.csv"))
for (int i = 0; i < 100; i++){
        Map<String, String> values = reader.readMap();

可能还有一个需要调用的 close 方法

关于java - 如何使用 CSVReaderHeaderAware 并迭代列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55447142/

相关文章:

java - SVNKit 用于查找存储在不同位置且具有不同版本号的两个文件之间的差异

javascript - 除了 IE 以外的其他浏览器的 ActiveX 对象的替代方案?

c# - Plain ArrayList Linq c# 2 语法(需要转换)

java - 获取一个ArrayList

java - 在哪里放置 tomcat6 java 应用程序的 log4j.properties 文件?

java - 通过 Spring CLI 添加对现有项目的依赖项

csv - 无法将 csv 加载到 d3

ruby - 如何刷新 CSV::Table 的标题?

excel - 用于排序和过滤的数据结构

database - 连接数据库的有效方式(按性能)