首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >D3.js连接来自多个csv文件的数据

D3.js连接来自多个csv文件的数据
EN

Stack Overflow用户
提问于 2016-06-25 04:11:17
回答 1查看 2.3K关注 0票数 2

我是D3的新手,任务是创建一个显示油井数据的仪表板。数据位于3个csv文件中,标题如下。

  1. 公司数据: CompanyName,FacilityName,WellName,WellId,WellGasNRI,WellOilNRI,WellShrinkageFactor,WellYieldFactor
  2. Well预算估计: WellId,Month,Year,DaysInMonth,GrossOil,GrossGas,GrossBOE,NetBOE
  3. 实际油井产量: WellId,Date,,

我使用d3.nest()对每个文件中的记录进行分组,但希望将分组的数组合并到一个结构中。

其中一个主要的显示是将每口井的预算估计与实际产量按天进行比较,然后按设施进行比较。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-06-25 04:33:28

一种方法是嵌套多个d3.csv调用,如下所述:Importing data from multiple csv files in D3

d3.csv("file1.csv", function(data1) {
  d3.csv("file2.csv", function(data2) {
     d3.csv("file3.csv", function(data3) {
        // do something with the data
        console.log("CSV1", data1);
        console.log("CSV2", data2);
        console.log("CSV3", data3);
     });
  });
});

另一种选择(我更喜欢)是使用d3.queue (这是一个插件-您需要单独导入queue.js ):

queue()
    .defer(d3.csv, 'file1.csv')
    .defer(d3.csv, 'file2.csv')
    .defer(d3.csv, 'file3.csv')
    .await(processData);

function processData(data1, data2, data3) {
    // do something with the data
    console.log("CSV1", data1);
    console.log("CSV2", data2);
    console.log("CSV3", data3);
}

在那里,您可以使用d3和JavaScript数组操作函数来组合、合并、拆分和对数据对象执行任何您想做的操作。例如,您可能希望使用d3.nest().key()来组织CSV,以便可以使用WellId字段选择它们,然后使用嵌套的For循环或其他机制将它们组合在一起。以下是一些关于D3中数据操作的优秀教程和参考资料:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38021370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档