さまざまなCSVデータセットを読み取る関数を記述します。CSVを文字列の配列の配列に十分に解析できます(CSVデータを解析するにはJavascriptコードを参照してください)。
ここで、各列を実行できるようにします。すべての列が数値に変換できる場合は、数値に変換します。それ以外の場合は、文字列のままにします。ただし、そうでない場合は、文字列のままにします。
もちろん、数字はさまざまな形式で提供される可能性があり、ロケールに依存する場合もあります。これらを認識するparseFloatのような関数が欲しいのですが:
"2.0" -> 2.0
"2" -> 2.0
"1,532" -> 1532 (in US at least)
"$2.00" -> 2.0
"0.02" -> 0.02
"2%" -> 0.02
"" - null
"NaN" -> NaN
"""NaN""" -> String
"2 years old" -> String
"ABC123" -> String
parseFloat(val)
この目的では完全には機能しません:
parseFloat("1,523") === 1
parseFloat("2%") === 2 // could live with this
parseFloat("$2.25") === NaN
これは明らかに、ネイティブECMAscript関数が処理することを期待するには多すぎますが、これらのそれぞれについて正規表現を自分で発明するべきではないようです。
これをうまく行うライブラリがあるでしょうか?私のGoogle検索スキルはここでは失敗しているようです。
一般的な日付形式の処理はさらに優れています。