d3似乎假设我知道csv的列名?

cdi*_*run 7 javascript csv graphing d3.js

我有生成的csv文件,我正在尝试将它们加载到d3中以绘制它们.列名基于数据,所以我基本上不能提前知道它们.通过测试,我能够加载这些数据并将其绘制得很好,如果我知道列的名称......但我不在我的用例中.

我怎样才能在d3中处理这个问题?我似乎无法在网上或文档中找到任何可以帮助/引用的内容.我可以看到当我从d3.csv登录到控制台数据[0]时,有两列并且为它们读取了值,但我不知道如何在不知道的情况下任意引用数据的第1列或第2列提前列的名称.我想避免这种情况,一般来说,知道我的时间戳在第1列,而我的数据在第2列,如果这是有道理的.

编辑,我的回答使用d3.entries来帮助学习未知列的名称,然后继续访问具有该索引的所有对象:

d3.csv("export.csv", function(error, data) {
    var mappedArray = d3.entries(data[0]);
    var valueKey = mappedArray[1].key;
    data.forEach(function(d) {
        ...
        d.value = d[valueKey];
    }
}
Run Code Online (Sandbox Code Playgroud)

Lar*_*off 3

您可以使用该d3.entries()函数将关联数组转换为另一个数组,该数组包含一个关联数组,每个键值对都有key和键。value