关于html:使用Javascript将CSV从URL解析为数组

Parse CSV from URL into Array using Javascript

我对javascript比较陌生,但是我想从csv文件中获取一些数据,该文件已在线保存并每小时更新一次。

以后应该将数据显示在表上,但是将其保存到数组时遇到了一些问题。 csv文件以逗号分隔,具有9列,超过6000行,并且是一长串文本,因此没有换行符。第一行包含用户名,每个带有特殊字符的用户名都用引号引起来。

过去几天,我尝试了几种代码,但没有一个起作用。是否可以将在线CSV文件解析为数组?是否有类似SQL的替代方法或将文件保存到我的服务器?

记住:该文件每小时更新一次。.

注意:我发现的代码并没有真正的问题,所有这些代码都经过了其他人的测试,似乎可以正常工作。但仅适用于本地文件,不适用于实际的URL!


您可以使用此https://code.google.com/p/jquery-csv/插件,并且可以使用$.csv.toArrays(csv)将多行csv转换为2D数组,或者使用$.csv.toObjects(csv)转换为对象。检查这篇文章或这篇文章以获取更多信息

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
    url:"urlto/filename.csv",
    success: function (data) {
        var arr = $.csvtoArray(data);
        _oncomplete(arr);
    },
    dataType:"text",
    });

_oncomplete: function (arr) {
    //Your array here
    }


您可以查看papaparse,以获取可靠且功能齐全的CSV解析库。

setInterval javascript函数可让您每小时更新一次数据,以防您决定在客户端上开发此部分。

Is there an alternative like with SQL or saving the file to my server?

是的,还有其他选择,正确的体系结构取决于您的用例。多少访问者将访问您的网页并查看结果,您的应用程序有多重要,数据源的可靠性等等。如果不确定这些内容,您应该与具有这些问题更多经验的Web开发人员联系。 。

您可能希望每小时在服务器上解析CSV文件,并将数据副本存储在服务器上,以提供给访问者。这样,如果上游数据源不可用,您仍将拥有过去数据的副本。

P.S .:

I've tried several codes over the past few days, but none worked

stackOverflow与此有关:在代码中获得有关特定问题的帮助,而不是询问一般性问题(可以使用搜索引擎轻松找到这些问题的答案)。