HOME

{ CSV データを JSON 型, Array 配列へ変換 : javascript }

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

推奨 ブラウザ : chrome

{ CSV データ }

{ CSV データ JSON, Array 配列変換 }

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

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

str.getCSVArray(',',true) の第二引数に、 true 指定で、戻り値配列の 0 番に行配列、 1 番に列配列が出力されます。

改行付 CSV ファイルを配列へ変換する getCSVArray(',') 関数に
JSON 型データ変換の処理を追加しました。
getCSVArray(',', true) の第二引数に true を指定すると、
CSV データが、 JSON 型データへ変換されると思います。
一度、 CSV データを Array 配列へ変換、
その値を、 convertJSON() 関数で再処理しています。
戻り値の配列には、 0 番と、 1 番があります。
0 番には、行配列、 1 番には、列配列が出力されます。
あと、最終行の末尾に区切り文字で配列が作成されない、を修正しました。
これは、エスケープ処理を追加したプログラム、
JSON 型変換のないプログラム、でも同じく修正しました。

JSON 型変換のない getCSVArray() 関数はこちらに置いています。
{ セル内改行 CSV データを Array 配列へ変換 }

エスケープ処理?を試してみた getCSVArray() 関数はこちらに置いています。
{ CSV データ配列変換, Ajax : CSV データの読み込み }

Object から、値を取り出す方法に for in 以外にも、
for(let key of obj) ってのがあったので、使用してみたけど、
対応していないブラウザがあるらしく、使うのを諦めた。
for in と for of の違いが、いまいち分からない。_(:3」∠)_

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

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