为什么d3.csv()将第一行转换为数组,而将其他行转换为对象?

时间:2018-10-05 09:17:53

标签: d3.js

我在html页面中使用的是最新版本(d3.v5.min.js),在JavaScript中我想解析一个csv文件。我的csv文件是这样的(第一行中有6个项目,第6行中有6个项目)第二行):

x,A,B,C,B,D
a0,a1,a2,a3,a4,a5

我尝试像这样加载数据:

d3.csv("path/to/file.csv").then(function(inputData) {
    console.log(inputData);
}

这将在控制台中打印:

Array(1)
    0:
        A: "a1"
        B: "a4"
        C: "a3"
        D: "a5"
        x: "a0"
        __proto__: Object
    columns: Array(6)
        0: "x"
        1: "A"
        2: "B"
        3: "C"
        4: "B"
        5: "D"
        length: 6
        __proto__: Array(0)
        length: 1
       __proto__: Array(0)

这意味着现在有6列和5个值(对象中重复的键将被忽略,仅使用最后一个键)。
为什么会这样?不确定这是否是最好的询问场所,但就我而言,此实现会产生意想不到的结果。

0 个答案:

没有答案