[英]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.