バニラ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に指定したりする必要がありそう。
関連記事
-
-
ブラウザ開発者ツールの起動を検出しソースコード変更やリダイレクト設定できる「console-ban」ライブラリの利用方法
他サイトのソースコードを拝見するため開発者ツールを開こうとすると、偶に「デバッガ ...
-
-
jQueryにて複数のajax処理のレスポンスをまとめて表示する方法
同時にajax処理を行う際、挙動やコードの書き方に悩まされることが多い。例えばA ...
-
-
formで親要素(ラジオボタン)の選択状況により子要素(セレクトメニュー)の選択肢を変更し、未選択の要素は送信しない方法
formで親要素(ラジオボタン)の選択状況により子要素(セレクトメニュー)の選択 ...
-
-
jQuery UIを用いた日付及び時間のピッカーの利用方法
jQuery UIを用いた日付及び時間のピッカーを実装したい。以下にソースコード ...
-
-
金融機関コード(銀行番号)や支店コード(支店番号)から銀行名や支店名を取得する方法
金融機関コード(銀行番号)や支店コード(支店番号)をから銀行名や支店名を取得した ...
