コンテンツにスキップ

$fn.csvToObject(buf, options)

指定したCSVファイルデータをオブジェクト形式に変換します。

引数

buf

名前必須説明
bufBufferはいCSVファイルのBufferデータ

options

v4.2.0で追加された引数です。

プロパティ名必須デフォルト値説明
columnsstring[]いいえ出力オブジェクトのプロパティ名を列順に指定します。配列内の要素に false / null / undefined が指定された列は、出力オブジェクトに含まれません。
fromLinenumberいいえ1CSVファイルの何行目からをレコードとして扱うかを指定します。最初の行を1として扱います。
relaxColumnCountbooleanいいえfalsetrueの場合、CSVレコードの列数が期待列数(columnsの要素数)と一致しなくてもエラーになりません。列数が少ない場合は対応するプロパティを出力せず、列数が多い場合は余分な値を破棄します。
relaxColumnCountLessbooleanいいえfalsetrueの場合、CSVレコードの列数が期待列数より少ない場合でもエラーになりません。列数が多い場合は例外をスローします。
relaxColumnCountMorebooleanいいえfalsetrueの場合、CSVレコードの列数が期待列数より多い場合でもエラーになりません。列数が少ない場合は例外をスローします。
skipEmptyLinesbooleanいいえtruetrueの場合、空行をスキップします。falseの場合、空行は第一プロパティが空文字のオブジェクトとして処理されます。
encodingstringいいえutf-8CSVファイルの文字エンコーディングを指定します。utf-8 および shift_jis をサポートします。

CSVファイルの仕様

ヘッダ行必須
オブジェクトのプロパティ名になります。(columns指定がある場合は、columnsの内容がプロパティ名になります)
例)“email”, “name”
ヘッダ名制約ヘッダー名をプロパティ名として使用する場合、数字開始のヘッダー名は不可
区切り文字,(カンマ)
フィールド値にダブルクォーテーションを含む場合、別のダブルクォーテーションでエスケープする必要があります。(RFC 4180準拠)
例)"aaa","b""bb","ccc"
改行コードCRLF または LF
文字コードUTF-8、Shift_JIS
BOMBOMなし または BOM付

戻り値

説明
array of objectCSVファイルデータをオブジェクト形式に変換して返却します

サンプル

ヘッダー文字列をそのままプロパティ名として利用する例

const files = await $fn.getUploadFiles();
const csv_buf = files[0].data;
const obj = $fn.csvToObject(csv_buf);

columnsとfromLineを使って別途プロパティ名を指定する例

const obj = $fn.csvToObject(csv_buf, {
columns: ["id", "name", "amount"],
fromLine: 2
});