javascript - 将数据从 dc.js dataTable 导出到 CSV

标签 javascript csv dc.js crossfilter

我有一个由 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);

最佳答案

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

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

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

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

关于javascript - 将数据从 dc.js dataTable 导出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501839/

相关文章:

javascript - 8k+ 项目的 dc.js lineChart 性能问题

javascript - 如何在 bobble 中配置 dc.bubbleOverlay() : min and max radius, 文本

csv - 如何将 CSV 导入 Trello

windows批处理文件按列将csv合并到文件夹中

java - csv 中不显示中文文本

javascript - DC.js compositeChart 与两个 lineChart 都代表日期的平均值

c# - 手动实现UpdatePanel

php - 突出显示 Div 标签下的文本

javascript - 在 angularjs 中显示 Bootstrap 缩略图

javascript - 简化不同选择器的重复 onclick 事件