如何将CSV文件中的NaN值转换为0?

时间:2016-02-27 21:24:28

标签: java

 while (scan.hasNext()){
        String line = scan.nextLine();
        scan.hasNextLine();
        line = line.trim();
        int countWhitespace = line.length() - line.replaceAll(" ", "").length(); 

        if (line.length() >0){
            int k = -1;
            int j = -1;

            k = -1;
            while (true){   
                k = line.indexOf(NaN, k+1);
                if (k<0) break;
                String result = NaN.replaceAll("NaN", value);
            }

        }
    }
  • 我有一个CSV文件并包含NaN值。
  • 我想读取此文件并将NaN更改为0.
  • 我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:0)

k = line.indexOf(NaN, k+1); - 这不起作用,因为lineString

更改为:

k = line.indexOf("NaN", k+1);
if (k<0)
    break;
String result = String.replace("NaN", value);

value也应为String类型。

如果您稍后将某个String转换为double,那么就是您 可能更愿意在此阶段转换NaN double

我喜欢这种优雅的方法来删除NaN 数字

if (some_double!=some_double)
    some_double=0.0

因为

  

any!=涉及NaN的比较返回true,包括x!= x,当x是NaN时。