如何将CSV文件中的NaN值转换为0?
问题描述:
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.
- 我该如何解决这个问题?
答
k = line.indexOf(NaN, k+1);
- 这不起作用,因为line
是String
。
更改为:
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
因为
任何=比较涉及到NaN的返回true,包括X = X时X是NaN的。
+0
Ohhhh !!!非常感谢你。 – Anonymous
+0
@Anonymous一点都不! P.S .:你选择了最受欢迎的昵称! ;) –
你是阅读还是书写?那么,我想这并不重要:'if(Double.isNaN(value))value = 0.0;' – Andreas
首先编写代码。 – Jens
对不起,忘了密码,我已经把我的密码了。 – Anonymous