[javascript] Javascript를 사용하여 로컬 텍스트 파일을 읽고 한 줄씩 읽는 방법은 무엇입니까?

데모 인 html + javascript로 만든 웹 페이지가 있는데, csv 파일에서 데이터를 추출 할 수 있도록 로컬 csv 파일을 읽고 한 줄씩 읽는 방법을 알고 싶습니다.



답변

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">

파일 필드가 렌더링 된 후 자바 스크립트 코드를 넣어야합니다.


답변

ES6를 사용하면 자바 스크립트가 조금 더 깨끗해집니다.

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);
}


답변