Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 D3.csv未加载csv文件_Javascript_Html_Node.js_D3.js - Fatal编程技术网

Javascript D3.csv未加载csv文件

Javascript D3.csv未加载csv文件,javascript,html,node.js,d3.js,Javascript,Html,Node.js,D3.js,由于某些原因,我无法使用d3.csv(…)函数加载任何.csv文件。我所做的是使用上面的函数加载一个csv文件,并将数据直接打印到控制台 我就是这么做的: 我使用记事本创建了一个名为irisData.csv的文件。它包括来自iris数据集的一些数据 我在我的irisTest.html中编写这段代码,将数据打印到控制台中,检查它是否正常工作 ... d3.csv("irisData.csv", type, function(error, data){ console.log(data);

由于某些原因,我无法使用d3.csv(…)函数加载任何.csv文件。我所做的是使用上面的函数加载一个csv文件,并将数据直接打印到控制台

我就是这么做的:

  • 我使用记事本创建了一个名为irisData.csv的文件。它包括来自iris数据集的一些数据

  • 我在我的irisTest.html中编写这段代码,将数据打印到控制台中,检查它是否正常工作

    ...
    d3.csv("irisData.csv", type, function(error, data){
        console.log(data);
    });
    ...
    
  • 不确定这是否相关,但我还是会把它放在上面:为了运行我的html,我使用Node.js来运行服务器。这是服务器的代码,server.html

         var http = require('http');
         fs = require('fs');
         http.createServer(function(req, res){
            fs.readFile('./irisTest.html', function(err, data){
               if(err){
                  res.writeHead(500, {'Content-type': 'text/plain'});
                  res.end('500 - Internal Error');
               }else{
                  res.writeHead(200, {'Content-type': 'text/html'});
                  res.end(data);
               }
            });
         }).listen(3000);
    
  • 因此,我希望控制台打印出一个对象,该对象由csv文件中的数据组成。大概是这样的:

    [
      {data...}
      {data...}
      {data...}
      ...
    ]
    
    然而,我得到的是封装到对象中的irisTest.html(即html代码本身)的代码。我意识到,我把什么代替中的“irisData.cvs”作为d3.csv(“irisData.csv”,…)中的路径并不重要,它总是输出我自己的代码,如下所示。所以我认为csv文件的路径可能有问题,但不应该有问题。所有文件都在同一文件夹中

     [    
        ...
        {<!DOCTYPE html>: "d3.csv("irisData.csv", type, function(error, data){"}
        {<!DOCTYPE html>: "console.log(data);"}
        {<!DOCTYPE html>: "});}"}
        ...
     ]
    
    [
    ...
    {:“d3.csv”(“irisData.csv”),类型,函数(错误,数据){”
    {:“console.log(数据);”}
    {: "});}"}
    ...
    ]
    

    有人知道发生了什么事吗

    如文档中所述,应使用匿名函数,而不是
    类型
    。我引用文件中的例子:

    d3.csv("example.csv", function(d) {
      return {
        year: new Date(+d.Year, 0, 1), // convert "Year" column to Date
        make: d.Make,
        model: d.Model,
        length: +d.Length // convert "Length" column to number
      };
    }, function(error, rows) {
      console.log(rows);
    });
    
    因此,在您的情况下,读取csv文件的方式如下:

    d3.csv("irisData.csv",function(data){
        console.log(data);
    },function(error, rows){
       console.log(rows); 
    });
    

    下面是中的一个工作示例,请检查控制台以查看数据对象

    是的,问题中仍然有一些CV需要编辑(在问题下方的小链接中单击编辑),如果这不是问题所在。也许,也许你也应该在你的代码或数据文件目录中搜索简历,看看是否有打字错误。我已经编辑了这个问题,并查找了文件名和代码中的任何打字错误。没有找到。您是否在节点中正确使用D3?我看不到
    vard3=require(“d3”)。请看一下这个答案:我在youtube上看了一个名为“D3简介”的教程,D3.cvs(“irisData.csv”,type,function(data){..});应该有用。然而,我确实尝试过你的方式。它仍然输出和以前一样的东西,没有任何变化。
    
    d3.csv("irisData.csv",function(data){
        console.log(data);
    },function(error, rows){
       console.log(rows); 
    });