HOME

{ CSV データ配列変換, Ajax : CSV データの読み込み }

{ svg, javascript で作成したプログラム一覧 }

推奨 ブラウザ : chrome

Ajax を利用した CSV ファイルの読み込みと配列変換
{ CSV データ }

{ 実行結果 }

CSV データの配列変換は、こちらの関数が高速です。
{ CSV データ配列変換ツール : javascript }

CSV データを Array 配列へ変換します。
str.getCSVArray(',') の第一引数に String で区切り文字指定。 囲み文字は、セル単位で、シングル、ダブルクォーテーションが混在していても処理できると思います。 囲み文字が連続している場合、最初と最後を一つだけ削除します。 囲み文字列前後の半角スペース、タブは、削除します。 囲み文字内であれば、改行が含まれていても、一つのセルの値として取得出来ると思います。 結果はコンソールへ出力されます。

エスケープ処理?を追加しました。囲み文字のないセルで区切り文字をエスケープすると区切り文字を無視します。囲み文字をエスケープすると囲み文字内の切り文字が有効になります。
テキストエリアに表示される CSV ファイルは、 Ajax を利用して取得しています。

前回作成した、 javascript で CSV ファイルを配列へ変換するプログラムに
エスケープ処理?を追加してみました。
エスケープ処理?(*'ω' *)
囲み文字の無い、CSV データのセル内に区切り文字があった場合、
その文字を表示させる処理。。。
これは、必要なのか、無駄なのか分からないで付け加えてしまった。
大きな数字を読みやすくするために、カンマを使用した CSV データの場合、
区切り文字をカンマ以外のものにするか、囲み文字で数字を括らなければ
CSV データが壊れてしまう。
なので、エスケープしてみようと、、、。
ちなみに、このプログラムで読み込んでいる CSV ファイルを
LibreOffice に読み込ませてみた所、
このプログラムで出力された配列とは、違う結果でした。
なので、この処理も、 CSV データの記述規則に準じていないんだと思う。
あと、前回のプログラムの修正も幾つかやりました。
囲い文字開始直後の区切り文字、
囲い文字入れ子終了直後の区切り文字で配列が増える、
行末の囲み文字の処理などです。
エスケープ処理を追加していない getCSVArray() 関数はこちらに置いています。
{ セル内改行 CSV データを Array 配列へ変換 }

このプログラムは、 CSV ファイルを Ajax を使用して、読み込んでいます。
Web 上にあるファイルをページ読み込み後に取得してテキストエリアに表示しています。
取得や通信に失敗すると、エラーがコンソールに出力されると思います。
エラー時の関数は書いてないので、リロードしてファイルを取得することになります。_(:3」∠)_

最終行の最終セルの先頭の文字が囲み文字の処理を調整しました。
囲み文字内の開始、終了の一回以上出現する半角スペースタブ削除を修正しました。
区切り文字に半角スペースを指定できるように調整しました。

数学の勉強をやり直ししてたりします。_´ω`)_