Javascript 如何将非常大的CSV数据集加载到d3中
正如标题所示,我有一个CSV文件(~250mb和700k行),无法加载到d3中。我试着像通常那样加载csv文件,但没有成功。目前,它没有出错,我在控制台中得到一个空的数据数组。不确定文件是否太大或加载不正确。我们将非常感谢您在这方面的帮助。谢谢Javascript 如何将非常大的CSV数据集加载到d3中,javascript,csv,d3.js,Javascript,Csv,D3.js,正如标题所示,我有一个CSV文件(~250mb和700k行),无法加载到d3中。我试着像通常那样加载csv文件,但没有成功。目前,它没有出错,我在控制台中得到一个空的数据数组。不确定文件是否太大或加载不正确。我们将非常感谢您在这方面的帮助。谢谢 var dataset; d3.csv("Consumer_Complaints.csv", function (error, data) { if (error) {
var dataset;
d3.csv("Consumer_Complaints.csv", function (error, data) {
if (error) {
console.log(error);
} else {
console.log("file load successful?");
console.log(data);
dataset = data;
}
});
这与D3无关,但通常与JavaScript有关。D3对它可以加载和解析的文件大小没有限制 Javascript在客户端运行(有些例外)。这意味着您的代码必须下载(如果在不同的服务器中)所有巨大的CSV文件,不仅如此,它还必须解析大量对象中的数十万行。这简直太过分了 所以,常识告诉我们要思考:
- 用户的连接速度
- 用户的处理能力
- 用户耐心地盯着空白屏幕几分钟,等待数据被下载/解析
console.time
来显示下载和解析文件所需的总时间(如果您有耐心等到最后,我没有):
console.time(“totalTime:”);
d3.csv(“https://data.consumerfinance.gov/api/views/s6ew-h6mp/rows.csv")
.on(“进度”,功能(evt){
console.log(“加载量:+evt.loaded”)
})
.get(函数(数据){
console.timeEnd(“totalTime:”);
});代码>
您如何运行此文件?Javascript(在浏览器中)没有访问本地文件系统的权限。@Burnkhalid IIS通过Visual StudioThink了解DOM。看看不要压碎你的机器内存或达到浏览器硬编码的限制:)谢谢你,Gerardo,看起来我需要先处理我端的数据,然后创建更小的数据集,我可以将其输入到图表中。是的,这是最好的方法。