问题
Say I have a sample file sample.csv:
row,col,value
1,1,2
1,2,3
1,3,NA
When reading data in d3 you do something like:
d3.csv("sample.csv", function(data) {
data.forEach(function(d) {
d.value = +d.value;
});
However, for the NA value +d.value will return NaN. How can I exclude NaN values from my data. i.e. read the data, and only take rows which have a number value
Thanks!
回答1:
You can call isNaN on the data before you try to add it:
d3.csv('sample.csv', function(data) {
data = data.filter(function(d){
if(isNaN(d.value)){
return false;
}
d.value = parseInt(d.value, 10);
return true;
});
});
This assumes your numbers will all be base-10 integers.
来源:https://stackoverflow.com/questions/12922236/removing-rows-when-reading-data-d3