簡體   English   中英

讀取CSV文件並使用Java組織數據

[英]Read CSV files and organising the data in Java

我想知道有人可以幫助我嗎?

我正在嘗試編寫一個從名為matchs.csv的csv文件讀取的Java程序。 一場足球比賽可以以贏球或平局結束:在第一種情況下,獲勝者隊獲得3分,在失敗者中無人獲得點數;在第二種情況下,兩支球隊中的每支獲得1分。

在文件中,它包含以下數據。

17/08/2013 Arsenal Aston Villa 1 3
24/08/2013 Aston Villa Liverpool 0 1

這意味着比賽在17/08/2013進行,阿森納進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(“,”)函數獲取所需的片段,然后按索引引用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM