簡體   English   中英

使用JavaScript將URL中的CSV解析為數組

[英]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)將其轉換為對象$.csv.toObjects(csv) 檢查這篇文章或更多的信息

$.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函數可讓您每小時更新一次數據,以防您決定在客戶端上開發此部分。

是否有類似SQL或將文件保存到我的服務器的替代方法?

是的,有替代方案,正確的體系結構取決於您的用例。 有多少訪問者將訪問您的網頁並查看結果,您的應用程序有多重要,數據源的可靠性等等。如果不確定這些內容,您應該與具有這些問題更多經驗的Web開發人員聯系。 。

您可能希望每小時在服務器上解析CSV文件,並將數據副本存儲在服務器上,以提供給訪問者。 這樣,如果上游數據源不可用,您仍將擁有過去數據的副本。

PS:

在過去的幾天中,我嘗試了幾種代碼,但沒有一個起作用

stackOverflow與此相關:在代碼中獲取有關特定問題的幫助,而不是詢問一般性問題(可以使用搜索引擎輕松找到這些問題的答案)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM