Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将非常大的CSV数据集加载到d3中_Javascript_Csv_D3.js - Fatal编程技术网

Javascript 如何将非常大的CSV数据集加载到d3中

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) {

正如标题所示,我有一个CSV文件(~250mb和700k行),无法加载到d3中。我试着像通常那样加载csv文件,但没有成功。目前,它没有出错,我在控制台中得到一个空的数据数组。不确定文件是否太大或加载不正确。我们将非常感谢您在这方面的帮助。谢谢

            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文件,不仅如此,它还必须解析大量对象中的数十万行。这简直太过分了

所以,常识告诉我们要思考:

  • 用户的连接速度
  • 用户的处理能力
  • 用户耐心地盯着空白屏幕几分钟,等待数据被下载/解析
这是一个加载巨大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,看起来我需要先处理我端的数据,然后创建更小的数据集,我可以将其输入到图表中。是的,这是最好的方法。