はじめに
この記事では、JavascriptでCSVファイルをインポートする方法をご紹介します。
試しに下記のボタンを押してCSVファイルをインポートしてみてください!
イメージしやすいように、CSVデータをpタグで表示するようにしています。
See the Pen
CSV import by Shungo Matsumura (@shungo0525)
on CodePen.
CSVファイルをインポートするコード
コピペでOK!!
index.html
<!-- CSVデータをインポートする部分 --> <input type="file" name="csv_import" accept="csv" id="upload-file"> <!-- CSVデータを表示する部分 --> <div id='csv_data'></div>
sample.js
const input = document.getElementById('upload-file'); // NOTE: uploadされたら検知する input.addEventListener('change', (e) => { const reader = new FileReader(); // NOTE: fileを文字列として読み込む reader.readAsText(e.target.files[0]); const csv_data = document.getElementById("csv_data"); reader.onload = function(event) { result = event.target.result; // CSVデータを整形 result = result.replace(/\r\n|\n|\r/g, ',').replace(/ /g, '').split(','); // CSVデータを出力 result.forEach((item) => { // CSVデータをpタグで表示 const p = document.createElement("p"); p.textContent = item; csv_data.appendChild(p); }) }; });
コードの説明
getElementById
指定されたidの要素を取得します。
今回で言うとid=”upload-file”のinputタグを取得しています。
addEventListener
マウスによるクリックやキーボードからの入力などのイベント処理を実行するメソッドです。
‘change’を指定しているので、inputタグに変更があれば、関数が実行されます。
readAsText
FileReaderで読み込んだCSVファイルを文字列として読みとります。
コメント