【JavaScript】CSVファイルをインポートする方法

javascript エンジニア
記事内に広告が含まれています。

 

はじめに

この記事では、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ファイルを文字列として読みとります。

コメント