Javascript:在csv中解析字符串返回NaN(不是数字)

时间:2013-12-06 08:50:48

标签: javascript parsing csv d3.js nan

我的csv看起来像这样:

year,dybde,snavn,sfylke
1965,110,Oslo,Sogn og Fjordane
1966,176,Krutå fjellstue,Sogn og Fjordane
1967,86,Ytre Sandsvær,Sogn og Fjordane

这会返回snavnsfylke值的NaN:

    d3.csv("data.csv", function(error, data) {
    data.forEach(function(d){
        d.year = +d.year;
        d.dybde = +d.dybde;
        d.snavn = +d.snavn;
        d.sfylke = +d.sfylke;

    });

    sdata = data;

    console.log(sdata);
   });

我已经尝试将字符串放在引号中,但它仍然返回NaN。

任何指出错误的想法都会非常感激。

1 个答案:

答案 0 :(得分:4)

代码something = +strVar总是返回NaN - 不可能直接将字符串转换为int,所以它不是数字。

如果要将每个字符串转换为0,则必须编写something = strVar|0

或者只是从这些行中删除符号+

    d.snavn = +d.snavn;
    d.sfylke = +d.sfylke;