java - List<String[]> float 读取 csv

标签 java arrays string list csv

我正在尝试用 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/

相关文章:

java - XSSFWorkbook、XSSFSheet 是否与 Office 2003 和 Office 2007 兼容

java - 如何将 Swing 组件添加到另一个 JFrame 中?

java - 从左边第二个斜线后剪切字符串

php - 为什么 array_filter 不工作?

java - 使用 Java 将摩尔斯电码转换为英文文本

python - 在 python 中,如何比较两个数字字符串而不将它们转换为 int()?

java - 在什么情况下遗留 Java 代码无法在新版本上编译

java - 替换字符串中的字符而不使用 if else

c - 为什么我用C语言将不同类型的值存储在一个数组中时没有报错?

javascript - 从两个数组中选择随机项目并匹配项目顺序