バニラJavaScriptで同サーバ内のCSVを読み込み、配列として取り扱う方法
サーバ内のCSVファイルを読み込み、そのデータをサイト上で取り扱いたい。通常だとPHPで対応するところだがASPを利用したサイトのためPHPは使えないという制限があった。何とかならないか調べたところバニラJavaScriptで対応できそう。以下に対応方法をメモ。
CSVの内容
以下内容のCSVを用意した。
id | name | age |
1 | 鈴木 | 20 |
3 | 佐藤 | 30 |
5 | 山田 | 40 |
対応方法
ソースコード
const file = `test.csv`; const request = new XMLHttpRequest(); request.open(`GET`, file, false); request.send(null); const csv = []; const record = request.responseText.split(/\r\n|\n/); for( let i = 0; i < record.length; ++i ){ let column = record[i].split(`,`); if( column.length != 1 ){ csv.push(column); } } console.table(csv);
実行結果
ソースコードを実行すると開発者ツールで以下のように結果が返ってくる筈。
所感
実運用の際は1行目のカラム名のデータは削除したり、配列ではなくオブジェクトに入れてキーをCSVのidに指定したりする必要がありそう。
関連記事
-
-
AjaxにてHTTPリクエストメソッドをDELETE / PUTで送信する方法
あるAPIにAjaxでリクエストする際、GET / POSTではなくDELETE ...
-
-
金融機関コード(銀行番号)や支店コード(支店番号)から銀行名や支店名を取得する方法
金融機関コード(銀行番号)や支店コード(支店番号)をから銀行名や支店名を取得した ...
-
-
3Dデータ(objファイル)をブラウザ上で表示する方法(JSC3D)
3Dデータをブラウザで表示させて、違う方向から見たり、縮小拡大をしたいという案件 ...
-
-
Ajaxでプラグイン無しのファイルアップロード方法
画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...
-
-
JavaScriptで指定した変数が未定義(未宣言)かチェックする方法
JavaScriptで指定した変数が未定義(未宣言)かチェックしたいというケース ...