如何使用CSVReaderHeaderAware并遍历各列

时间:2019-04-01 01:45:41

标签: java csv arraylist opencsv

我正在研究一些代码,这些代码将从csvfile中获取玩家名称及其射击百分比,并将其放入我创建的名为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文件中的行。玩家名称和百分比是我想要浏览的两列。预先感谢!

1 个答案:

答案 0 :(得分:0)

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

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

可能还有一个关闭方法被调用