在javascript中将.csv文件读取到对象/数组

在javascript中将.csv文件读取到对象/数组,javascript,jquery,csv,jquery-csv,Javascript,Jquery,Csv,Jquery Csv,我正在尝试做一些我认为相当简单的事情,但似乎不起作用。我的脚本文件所在的目录中有一个.csv文件。我想使用.csv文件中的数据创建一个对象或数组。如何使用javascript访问本地文件 很抱歉没有代码,但我甚至不知道该走哪条路;我已经试过了。获取和ajax,但我不知道我在做什么。有人能给我一个清晰的例子,说明如何加载文件并在div中打印吗?在这里做得很好,例如,这将为您完成以下工作: Papa.parse(file, { complete: function(results) {

我正在尝试做一些我认为相当简单的事情,但似乎不起作用。我的脚本文件所在的目录中有一个.csv文件。我想使用.csv文件中的数据创建一个对象或数组。如何使用javascript访问本地文件

很抱歉没有代码,但我甚至不知道该走哪条路;我已经试过了。获取和ajax,但我不知道我在做什么。有人能给我一个清晰的例子,说明如何加载文件并在div中打印吗?

在这里做得很好,例如,这将为您完成以下工作:

Papa.parse(file, {
    complete: function(results) {
        console.log("Finished:", results.data);
    }
});

为了模拟静态文件服务器,可以在命令行上使用python运行http服务器。这是使用ajax请求所必需的

python -m SimpleHTTPServer  
或者如果你有python 3

python -m http.server
现在有两个部分可以把文件放到网页上。1) 发出ajax请求,2)解析csv。有许多不同的库实现ajax请求,但是在本例中,您可能会发现结合了这两种请求的最简单的开箱即用解决方案是

当然,这只有在您从localhost加载页面时才起作用

编辑:

确保从index.html文件的位置运行http服务器。然后,您在
d3.csv
函数中发出的请求与索引相关。最后,数据仅在回调中可用,任何错误消息(或null)都将放在err参数中

Project
|
+-- index.html
|    
+-- data
|  |  
|  \-- dataset.csv
然后index.html中的代码如下所示

d3.csv("data/dataset.csv", function(err, data) {

    if (err) console.log(err) // error messages

    console.log(data);   // should contain the parsed csv
});

服务器或客户端计算机上的相同目录?如果要打开客户端文件,则需要使用fileReader api()。如果您是在服务器端执行此操作,则取决于您正在运行的内容。它将在服务器上执行。这就是说,在我的测试过程中,我的文件结构就在我的桌面上——我没有将它作为服务器运行。好吧,这必须是其中之一。API对于使用文件(file://)或HTTP(HTTP://)协议获取文件是不同的。这似乎是一个很好的解决方案!然而,我很难理解如何显示文档中的数据。你能给我指一下正确的方向吗?我一直在变空。谢谢你-你的编辑清除了它!我无法访问数据!您是否收到错误消息?对不起,我不知道我能不能在没有看到一些代码的情况下提供更多的帮助。打字错误我能够访问数据。再次感谢。啊,好的,祝你编码愉快!:D
d3.csv("data/dataset.csv", function(err, data) {

    if (err) console.log(err) // error messages

    console.log(data);   // should contain the parsed csv
});