簡體   English   中英

在angularjs中讀取本地文件的csv標頭

[英]read csv headers of local file in angularjs

我目前正在使用以下js代碼讀取csv標頭-

var r = new FileReader();
r.onload = function(e) {
    var contents = e.target.result;
    contents = contents.split(/\r\n|\n/);
    var i = 0,
        flag = false,
        headers;
    while (i < contents.length && flag == false) {
        if (contents[i] != '') {
            headers = contents[i]
            flag = true;
        }
        i++;
    }
    vm.fileHeaders = headers.split(",").map(function(item) { return item.trim() && item.replace(/['"]+/g, ''); });
    return true;
};
r.readAsText(item);

此代碼首先讀取整個文件,然后返回標頭。 但是大型文件需要花費更多時間。 我想修改此代碼,使其僅讀取標頭,而不讀取整個數據,因此對於大型文件也將花費較少的時間。

找到PapaParse作為快速解決方案!

Papa.parse(item, {
    worker: true,
    skipEmptyLines: true,
    step: function(results, parser) {
        parser.abort();
        vm.fileHeaders = results.data[0] || undefined;
        results = null;
        return vm.fileHeaders;
    },
    complete: function(results){
        results = null;
    }
});

暫無
暫無

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

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