java - 读取 CSV 文件并用 Java 组织数据

标签 java csv

我想知道有人可以帮助我吗?

我正在尝试编写一个从名为 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/

相关文章:

java - 高性能网络的 Netty 替代品是什么?

linux 创建一个文件,其中包含 csv 中的文件标题

java - 为什么java无法从死锁中恢复?

linux - 获取 NAME 字段的值并将其放入变量中,

node.js - 创建 CSV 文件时,标题值在每行中重复

powershell - 使用PowerShell从CSV文件中删除重复项

r - 函数 write.csv 返回错误

Java 默认值困惑,为什么函数作用域变量没有?

java - 在模拟器中模拟 Codename 1 的位置变化

java - 验证 XML 签名 JAVA