我想知道有人可以帮助我吗?
我正在尝试编写一个从名为 matches.csv 的 csv 文件读取的 java 程序。 单场足球比赛可以以胜利或平局结束:在第一种情况下,获胜队获得 3 分,失败者无分;在第二种情况下,两队各得 1 分。
文件中包含以下数据。
17/08/2013 Arsenal Aston Villa 1 3
24/08/2013 Aston Villa Liverpool 0 1
这意味着在 2013 年 8 月 17 日进行的一场比赛中,阿森纳进了 1 个球,阿斯顿维拉进了 3 个球:因此阿森纳得到 0 分,阿斯顿维拉得到 3 分。
如何构建我的输出以使其可读
Position Team Played Points
1 Aston Villa 2 3
2 Liverpool 1 3
3 Arsenal 1 0
这是我当前的尝试。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Teams
{
public static void main(String[] args)
{
String fileName = "matches.csv";
File file = new File(fileName);
try
{
Scanner inputStream = new Scanner(file);
while (inputStream.hasNext())
{
String data = inputStream.next();
System.out.println(data);
}
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
}
}
最佳答案
首先,您的输入必须是可解析的 CSV。因此,请使用逗号。
假设文件有逗号,它会像
dateddmmyyyy,team1name,team2name,team1score,team2score
17/08/2013,Arsenal,Aston Villa,1,3
24/08/2013,Aston Villa,Liverpool,0,1
然后您可以使用您粘贴到此处的文件。使用类似的内容代替 System.out.println
parseLine(data);
ParseLine 会读取该行并将其分成几部分。我建议你使用 split(",") 函数来获取你想要的片段,然后通过索引引用它们。
关于java - 读取 CSV 文件并用 Java 组织数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23050068/