У меня есть веб-страница, созданная html + javascript, которая является демонстрацией, я хочу знать, как читать локальный файл csv и читать строки за строкой, чтобы я мог извлекать данные из файла csv.
Как использовать Javascript для чтения локального текстового файла и чтения строки за строкой?
Ответ 1
Без 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 после отображения поля файла.
Ответ 2
Используя 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.map((line) => {
console.log(line);
});
};
reader.onerror = (evt) => {
alert(evt.target.error.name);
};
reader.readAsText(file);
}