PAPAPARSE IS 何?
JavaScriptおよびTypeScriptでCSVデータの読み込み(パース)や書き出し(生成)を簡単に行える、非常に人気のあるライブラリ
Parse(解析する)」に「Papa(親玉・お父さん)」を組み合わせた言葉らしい
やって得たことや考えておけたいことはこんな感じかと、、
header:true → csvの1行目をキーとして扱う →オブジェクトとして受け取れる
こんな感じよね
[CSV](https://d.hatena.ne.jp/keyword/CSV):
name,age
Taro,30
Hanako,25
出力される `result.data`:
[
{ name: 'Taro', age: '30' },
{ name: 'Hanako', age: '25' }
]
skipEmptyLines → 空行を無視する
complete: (results) => {..,} → 全ての読み込みが終わった際に実行されるメイン関数(コールバック関数か)
dynamicTyping
さっきの
{ name: "Taro", age: "30" }
を、
{ name: "Taro", age: 30 }
のように自動的に型変換できる。
Papa.parse(file, {
header: true,
dynamicTyping: true,
});
ただし、何でもTypeScriptの型になるわけではなく、PapaParse側のルールで数値・真偽値・日付などを判定とのこと。
大きいCSVなら worker
PapaParseには、
worker: true
もある。
CSV解析をWeb Workerで行って、メインスレッドをブロックしにくくするための設定。
目安の100行くらいなら不要かもだけどスケールするなら検討の余地
100行
↓
1万行
↓
10万行
↓
100万行
他にはerrorもある、、