デモであるhtml + javascriptで作成したWebページがあります。csvファイルからデータを抽出できるように、ローカルのcsvファイルを読み取り、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コードを忘れずに配置してください。
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);
}