FAQ:バッチ処理でCSVファイルを読み込んで対象のレコードを作成または更新したい
## 回答
[レコードのインポートAPI](/ja/manual/api-import)を使用します。
---
## 概要
バッチ処理でCSVファイルを読み込んで対象のレコードを作成または更新したい場合は、[レコードのインポートAPI](/ja/manual/api-import)を使用します。
例として下表のCSVファイルから読み込んだ項目を、プリザンターの項目に挿入します。id(ClassA)の値がすでにプリザンター上に存在している場合は上書き更新されます。idのチェックを行うためClassAの[検索の種類](/ja/manual/table-management-filter-search-types)は完全一致に設定する必要があります。インポートするCSVデータはスクリプトファイルと同じフォルダに保存してください。
|CSV項目|プリザンター項目|
|:--:|:--:|
|name|Title|
|id|ClassA|
|mail|ClassE|
## 操作手順
1. プリザンターを開き、テーブルを作成してください
1. [テーブルの管理](/ja/manual/table-management)を開き、[エディタ](/ja/manual/table-editor)タブで分類Aと分類Eを有効化してください。
1. [フィルタ](/ja/manual/table-record-search)タブを開き、分類Aを選択してから詳細設定ボタンをクリックし、[検索の種類](/ja/manual/table-management-filter-search-types)を完全一致に変更のうえ、変更ボタンをクリックしてください。
1. 更新ボタンをクリックしてください。
1. 戻るボタンで一覧画面に戻ってください。
1. ユーザメニューから「API設定」でAPIキーを作成し、キーをコピーしてください。
1. 対象となるテーブルのサイトIDをメモしてください。
1. 以下のCSVファイル例をコピーして、data.csvという名前でファイルを保存してください。
1. 以下のサンプルコードをコピーして、import.ps1という名前でファイルを保存してください。
1. CSVファイルの文字コードに合わせて、import.ps1の8行目を修正してください。
1. import.ps1の1,2行目にあるサイトIDとAPIキーの箇所を変更して保存してください。
1. import.ps1を実行してください。
### CSVファイルの作成(data.csv)
````
id,name,mail
1,user1,user1@example.com
2,user2,user2@example.com
3,user3,user3@example.com
4,user4,user4@example.com
5,user5,user5@example.com
6,user6,user6@example.com
7,user7,user7@example.com
8,user8,user8@example.com
9,user9,user9@example.com
10,user10,user10@example.com
````
## サンプルコード
##### PowerShell
````
$url = 'http://localhost/api/items/xxxサイトIDxxx/import'
$apiKey = 'xxxAPIキーxxx'
$filePath = "./data.csv"
$form = @{
parameters = ConvertTo-Json @{
ApiVersion = 1.1;
ApiKey = $apiKey;
Encoding = "UTF-8";
UpdatableImport = $true;
Key = "ClassA";
};
file = Get-Item -Path $filePath;
}
Invoke-WebRequest -Uri $uri -Method Post -Form $form
````
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/table-record-search">テーブル機能:レコードの検索(フィルタ)</a><span>2024/09/12 up</span></li>
<li><a href="/ja/manual/table-editor">テーブル機能:レコードのエディタ画面</a><span>2023/04/12 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management">テーブルの管理</a><span>2024/05/24 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-editor">テーブルの管理:エディタ</a><span>2024/04/09 up</span></li>
<li><a href="/ja/manual/table-management-editor-columns">テーブルの管理:エディタ:エディタの項目の設定</a><span>2024/04/09 up</span></li>
<li><a href="/ja/manual/table-management-choice-json">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:フィルタ、ソート、表示フォーマット</a><span>2024/11/12 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-filter">テーブルの管理:フィルタ</a><span>2023/05/12 up</span></li>
<li><a href="/ja/manual/table-management-filter-search-types">テーブルの管理:フィルタ:検索の種類</a><span>2023/05/12 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-search-type">テーブルの管理:検索:検索の設定:検索の種類</a><span>2023/05/18 up</span></li></ul></article>
<ul><li><a href="/ja/manual/api-import">開発者向け機能:API:テーブル操作:レコードのインポート</a><span>2023/09/20 up</span></li></ul></article>
<ul><li><a href="/ja/manual/advanced-operations-link">応用編:リンク</a><span>2024/07/08 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />