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

标签 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。

任何指出错误的想法将不胜感激。

最佳答案

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

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

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

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

关于Javascript:解析 csv 中的字符串返回 NaN (不是数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20419663/

相关文章:

java - 如何使用节点名称和特定属性值获取特定节点及其子节点?

c# - Datetime Parse 方法向输入日期添加一天

php - php 中的前缀到中缀

Java 应用程序读取 csv 文件并比较每行中的数据

javascript - 下拉菜单无法正常工作。 (html)

javascript - 用 Jquery 或 JavaScript 替换悬停时的文本

javascript - 删除 css 中未使用的类

javascript - 未捕获的 DOMException : Failed to execute 'setStart' on 'Range' : The offset is larger than the node's length

r - 如何在 R 中加入来自 2 个不同 csv 文件的数据?

python - pandas to_csv 将 str 列转换为 int(或 float)