コンテンツにスキップ

$fn.csvToObject(csv)

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

引数

名前説明
csvBufferCSVファイルのBufferオブジェクト

CSVファイルの仕様

ヘッダ行必須
オブジェクトのプロパティ名になります。
半角英数字のみ可能です。 (数字開始は不可)
例)“email”, “name”
区切り文字,(カンマ)
フィールド値にダブルクォーテーション、カンマ、改行を含む場合は、必ず囲ってください。
改行コードCRLF または LF
文字コードUTF-8
BOMBOMなし または BOM付

戻り値

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

サンプル

try {
/* CSVの内容
* -------------------------------------------------------------------
* Id,Title,Description,Progress,Category,CreatedBy,CreatedAt
* 00001,タイトル1,"説明1, サンプル1",100,CATEGORY1,User1,2023-08-01
* 00002,タイトル2,"説明2, サンプル2",80,CATEGORY2,User2,2023-08-10
* 00003,タイトル3,"説明3, サンプル3",20,CATEGORY3,User3,2023-08-12
* -------------------------------------------------------------------
*/
const file = await $fn.getFile("/path/to/projects.csv");
const buffer = file.data;
// CSVファイルをパースし、オブジェクトへ変換
const projects = $fn.csvToObject(buffer);
// 1件ずつデータを登録
for (const project of projects) {
const { Id, Title, Description, Category, Progress, CreatedBy, CreatedAt } = project;
if (!Id) {
throw new Error("IDが入力されていません。");
}
const progress = Number(Progress);
if (isNaN(progress)) {
throw new Error("進捗率は数値で入力して下さい。");
}
/* SQL 関数の内容
* ------------------------------------------------------------------------------------
* insert into Project VALUES (${param.id},${param.title},${param.description},
* ${param.progress},${param.category},${param.createdBy},${param.createdAt});
* ------------------------------------------------------------------------------------
*/
// SQL関数でテーブルにデータを登録
await insertToProjectTable({
id: Id,
title: Title,
description: Description,
progress,
category: Category,
createdBy: CreatedBy,
createdAt: CreatedAt
});
}
} catch (e) {
console.error(e);
}