如何处理Processing表中的不完整数据?

时间:2013-03-02 23:18:02

标签: java processing

我正在使用Processing的Table接口解析CSV,但有些行缺少某些数据。我想将所有可用的数据提取到我的表中,但我不确定如何处理丢失的数据 - 当我使用NullPointerException在缺少的值上循环表时,我不断获得dataTable.getInt

我没有静态类型语言的背景知识,所以我不知道如何有条件地分配这些数据,而不是在每个作业周围添加单独的try / catch。当然有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

在调用dataTable.getInt方法之前,检查dataTable是否为null,如

if(dataTable != null) {
    int my_nt = dataTable.getInt

}
//else skip since it is empty

答案 1 :(得分:0)

由于您使用的是getInt,因此您应该执行regex search/replace ,<not numeric>, with ,<some int>,。在你的情况下,它可能就像替换,, with,0,

一样简单

另外,正如Hassan建议的那样,仔细检查dataTable是否为空。

答案 2 :(得分:0)

好的,所以我找到了一种方法:

首先,调用dataTable.makeNullEmpty(),将所有空值转换为空字符串。

然后,你可以使用这样的模式:

String total_value = dataTable.getString(i, 4);
if(total_value.length() > 0) s.total_value = parseInt(total_value);

只有在要解析int时才能获得赋值。