【问题标题】:Parsing CSV file into array将 CSV 文件解析为数组
【发布时间】:2014-10-19 16:26:21
【问题描述】:

我正在制作一个读取 CSV 文件的 Android 应用程序,其中包含公园人数的值。我的目标是制作一个应用程序,输出数据的统计分析,例如均值、模式和图表。我的问题是我不确定如何在 java 中存储数据。可以有任意数量的行,但总会有 72 列。正如您从下面看到的,我使用了一个简单的数组,但这显然不起作用,只存储最后一次观察。我在考虑地图,但不确定如何实现它。很感谢任何形式的帮助。

package messy;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Playing
{
    static String[] tokens;
    public static void main(String[] args)
    {
    //Input file which needs to be parsed
    String fileToParse = "C:/Users/acer/Desktop/soparc shit/SOPARC.csv";
    BufferedReader fileReader = null;

    //Delimiter used in CSV file
    final String DELIMITER = ",";
    try
    {
        String line = "";
        //Create the file reader
        fileReader = new BufferedReader(new FileReader(fileToParse));
         fileReader.readLine();
        //Read the file line by line
        while ((line = fileReader.readLine()) != null) 
        {
            //Get all tokens available in line
            tokens = line.split(DELIMITER);

        }
    } 
    catch (Exception e) {
        e.printStackTrace();
    } 
    finally
    {
        try {
            fileReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

   }
}

【问题讨论】:

标签: java arrays parsing csv maps


【解决方案1】:

您可以使用 CSV 解析器,例如 OpenCSV

CSVReader reader = new CSVReader(new FileReader(fileToParse));  
String[] recordArray = null;

while ((recordArray = reader.readNext()) != null) {
    // use recordArray...
}

【讨论】:

【解决方案2】:

你需要使用这样的地图:

Map<String, List<String>> values

这里有一个非常好的和详细的例子:

Reading CSV file in Java and storing the values in an int array

【讨论】:

    【解决方案3】:

    除了OpenCSV,已经提到过,另见:

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2023-03-23
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多