如何使用Javascript读取本地文本文件并逐行读取?

时间:2014-04-28 02:22:04

标签: javascript html file

我有一个由html + javascript制作的网页,这是演示,我想知道如何读取本地csv文件并逐行读取,以便我可以从csv文件中提取数据。

2 个答案:

答案 0 :(得分:82)

没有jQuery:

document.getElementById('file').onchange = function(){

  var file = this.files[0];

  var reader = new FileReader();
  reader.onload = function(progressEvent){
    // Entire file
    console.log(this.result);

    // By lines
    var lines = this.result.split('\n');
    for(var line = 0; line < lines.length; line++){
      console.log(lines[line]);
    }
  };
  reader.readAsText(file);
};

HTML:

<input type="file" name="file" id="file">

请记住在呈现文件字段后放置您的javascript代码。

答案 1 :(得分:13)

使用ES6,javascript变得更加清晰

handleFiles(input) {

    const file = input.target.files[0];
    const reader = new FileReader();

    reader.onload = (event) => {
        const file = event.target.result;
        const allLines = file.split(/\r\n|\n/);
        // Reading line by line
        allLines.forEach((line) => {
            console.log(line);
        });
    };

    reader.onerror = (event) => {
        alert(event.target.error.name);
    };

    reader.readAsText(file);
}