列出<string []>以浮动读取csv </string []>

时间:2015-03-01 16:35:23

标签: java arrays string list csv

我试图用Java读取csv文件到2D数组。

到目前为止,我设法遵循一些stackoverflow示例并使用opencsv-3.2成功读取.csv。

    CSVReader csvReader = new CSVReader(new FileReader(new File("file.txt")));
    List<String[]> list = csvReader.readAll();

    String[][] dataArr = new String[list.size()][];
    dataArr = list.toArray(dataArr);

但是我想dataArr是float类型而不是String。我可能想象我们必须将String列表转换为float,但尽管经过多次尝试和一些阅读,我仍然没有成功。谢谢

1 个答案:

答案 0 :(得分:1)

toArray()类的List方法绝对不是您要找的...

您将不得不手动遍历列表并单独解析行中的每条记录(假设您无权访问Java 8)。

类似的东西:

float[][] dataArr = new float[list.size()][];

for(int row = 0; row<list.size(); row++){
    String [] thisRowStrings = list.get(row);
    float[] thisRowFloats = new float[thisRowStrings.length];
    for(int c=0; c<thisRowStrings.length; c++){
       thisRowFloats[c]=Float.parseFloat(thisRowStrings[c]);
    } 
    dataArr[row]=thisRowFloats;
}