web-dev-qa-db-fra.com

Comment utiliser Javascript pour lire des fichiers texte locaux et lire ligne par ligne?

J'ai une page Web faite par html + javascript qui est une démo, je veux savoir comment lire un fichier csv local et lire ligne par ligne afin que je puisse extraire des données à partir du fichier csv.

58
litaoshen

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

N'oubliez pas de mettre votre code javascript après le rendu du champ de fichier.

86
juanpastas

En utilisant ES6, le javascript devient un peu plus propre

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