2013-03-02 76 views
0

我正在使用Processing的Table接口解析CSV,但有些行缺少一些數據。我想把所有可用的數據都放到我的表中,但我不知道如何處理丟失的數據 - 當我循環使用dataTable.getInt表中的缺失值時,我總是收到NullPointerException如何處理Processing表中的不完整數據?

我沒有靜態類型語言的背景,所以我不知道如何有條件地分配這些數據,而不是在每個任務的周圍放置單獨的try/catch。當然有更好的方法?

回答

0

好了,我想出了一個辦法做到這一點:

首先,調用dataTable.makeNullEmpty(),果然所有的空值成空字符串。

然後,你可以使用這樣的模式:

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

,你會得到任務只有一個int有沒有被解析。

0

之前調用dataTable.getInt方法檢查,如果數據表上由於your're使用getInt NOT NULL像

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

} 
//else skip since it is empty 
0

- 你應該執行regex search/replace ,<not numeric>, with ,<some int>,。在你的情況下,它可能會像替換0一樣簡單,0,

另外,正如Hassan所建議的那樣,仔細檢查dataTable是否爲空。

相關問題