[英]How do you handle incomplete data in a Processing table?
我正在使用Processing的Table
界面解析CSV,但是某些行缺少一些數據。 我想將所有可用數據拉到表中,但是我不確定如何處理丟失的數據-當我使用缺失值的dataTable.getInt
遍歷表時,我不斷收到NullPointerException
。
我沒有使用靜態類型語言的背景知識,所以我不知道如何有條件地分配此數據,而不必在每個分配周圍放置單獨的try
/ catch
。 當然有更好的方法嗎?
在調用dataTable.getInt方法之前,請檢查dataTable是否不為null,例如
if(dataTable != null) {
int my_nt = dataTable.getInt
}
//else skip since it is empty
由於您使用的是getInt,因此您應該regex search/replace ,<not numeric>, with ,<some int>,
進行regex search/replace ,<not numeric>, with ,<some int>,
。 就您而言,可能很簡單,只需將,,替換為,0,
同樣,如Hassan所建議的,請仔細檢查dataTable是否不為null。
好的,所以我想出了一種方法來做到這一點:
首先,調用dataTable.makeNullEmpty()
,它將所有空值轉換為空字符串。
然后,您可以使用以下模式:
String total_value = dataTable.getString(i, 4);
if(total_value.length() > 0) s.total_value = parseInt(total_value);
並且只有在要解析一個int的情況下,您才能獲得分配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.