我试图用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,但尽管经过多次尝试和一些阅读,我仍然没有成功。谢谢
答案 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;
}