[英]Export Data from dc.js dataTable into CSV
我有一个由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');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.