我正在尝试用 Java 将 csv 文件读取到二维数组。
到目前为止,我设法遵循一些 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 ,但尽管进行了多次尝试和一些阅读,我仍然没有成功。谢谢
最佳答案
List
类的 toArray()
方法绝对不是您要找的...
您必须手动循环列表并单独解析行中的每条记录(假设您无权访问 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;
}
关于java - List<String[]> float 读取 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28796058/