我对javascript相对较新,但我希望从在线保存的csv文件中获取一些数据并每小时更新一次。
数据应该稍后显示在表格中,但是我将它保存到数组时遇到一些问题。 csv文件是逗号分隔的,有9列,超过6000行,是一长串文本,所以没有换行符。第一行包含用户名,每个带有特殊字符的用户名都用引号括起来。
我在过去几天尝试了几个代码,但都没有用。我可以将在线CSV文件解析成阵列吗?有没有像SQL一样的替代方案或将文件保存到我的服务器?
请记住:文件每小时都会更新..
注意:我发现的代码没有真正的问题,所有这些都经过了其他人的测试,似乎也有效。但仅适用于本地文件,而不是实际的URL!
答案 0 :(得分:1)
您可以使用此https://code.google.com/p/jquery-csv/插件,可以使用$.csv.toArrays(csv)
将多行csv转换为2D数组,或使用$.csv.toObjects(csv)
转换为对象。查看this帖子或this一个以获取更多信息
$.ajax({
url: "urlto/filename.csv",
success: function (data) {
var arr = $.csvtoArray(data);
_oncomplete(arr);
},
dataType: "text",
});
_oncomplete: function (arr) {
//Your array here
}
答案 1 :(得分:0)
您可以查看papaparse,了解功能齐全的CSV解析库。
setInterval
javascript函数允许您每小时更新一次数据,以防您决定在客户端开发此部件。
是否有类似SQL的替代方案或将文件保存到我的服务器?
是的,有其他选择,正确的架构取决于您的用例。有多少访问者会访问您的网页并查看结果,您的应用程序的重要程度,数据源的可靠性等等。如果您不确定这些,您应该与具有更多经验的Web开发人员交谈这些问题。
您可能希望每小时在服务器上解析CSV文件,并在那里存储数据副本,以便为访问者提供服务。这样,如果上游数据源不可用,您仍然拥有过去数据的副本。
P.S。:
我在过去几天尝试了几个代码,但都没有用
stackOverflow就是这样的:获取有关代码中特定问题的帮助,而不是询问一般性问题(使用搜索引擎轻松可以找到答案)。