【问题标题】:Export Data from dc.js dataTable into CSV将数据从 dc.js dataTable 导出到 CSV
【发布时间】:2016-05-28 17:20:37
【问题描述】:

我有一个由 dc.js 和 crossfilter.js 完成的数据表,我想将该表导出到 CSV 文件..

dataTable.width(960).height(800)
.dimension(by_id)
.group(function(d) { return ""
 })
.size(data.length)                          
.columns([
  function(d) { return d.id; },
  function(d) { return d.name; },
  function(d) { return d.gender; },
  function(d) { return parseFloat(d.GPA).toFixed(2); },
  function(d) { return parseFloat(d.Major_GPA).toFixed(2); },
  function(d) { return parseFloat(d.Math_GPA).toFixed(2); },
  function(d) { return parseFloat(d.English_GPA).toFixed(2); },
  function(d) { return parseFloat(d.Science_GPA).toFixed(2); },
  function(d) { return parseFloat(d.Humanities_GPA).toFixed(2); }
  ])
.sortBy(function(d){ return d.id; })
.order(d3.ascending);

【问题讨论】:

    标签: javascript csv dc.js crossfilter


    【解决方案1】:

    这是一个常见的请求,所以我添加了一个使用 FileSaver.js 的示例。 (可能还有其他从浏览器下载的好方法,但这是我熟悉的。)

    http://dc-js.github.io/dc.js/examples/download-table.html

    关键是使用dimension.top(Infinity)从表的维度中获取所有数据。然后您可以使用d3.csv.format 对其进行格式化并使用您喜欢的方法下载它。这里,FileSaver 使用Blobs 作为机制:

        var blob = new Blob([d3.csv.format(nameDim.top(Infinity))],
                            {type: "text/csv;charset=utf-8"});
        saveAs(blob, 'data.csv');
    

    【讨论】:

    猜你喜欢
    • 2012-08-01
    • 1970-01-01
    • 2014-07-26
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2021-04-04
    相关资源
    最近更新 更多