レコードのデータをエクスポートしてみよう
はじめに
前回は、cli-kintoneの概要や環境構築について説明しました。
今回からは、実際に手を動かしてcli-kintoneの使い方を紹介していきます。
まずは、コマンドライン上からkintoneのデータをCSVで出力する方法を学びましょう。
準備するもの
はじめに、以下の手順でkintoneにアプリを作成しましょう。
ここで作成したアプリは、今後のチュートリアルの中でも使用します。
-
以下のようにサンプルデータを数件レコードに登録します。
-
あとで分かりやすくするため、下表のようにフィールドコードを英数字に修正しておきましょう。
フィールド名 フィールドコード 会社名 company 部署名 department 担当者名 name 郵便番号 post_code TEL tel FAX fax 住所 address 顧客ランク rank メールアドレス mail_address 会社ロゴ company_logo 備考 note レコード番号 id
STEP 1. APIトークンを発行する
上記で作成したkintoneの顧客リストアプリへアクセスするためのAPIトークンを発行します。
APIトークンの生成方法は
APIトークンを生成する
を参照してください。
今回は、レコードのデータを出力することが目的なので、「レコード閲覧」のアクセス権にチェックを入れます。
STEP 2. コマンドライン上に出力する
レコードのデータを出力するには、record export
を指定します。
たとえば、ドメイン名が「sample.cybozu.com」、アプリIDが299
だった場合、次のように書きます。
APIトークンは、
STEP 1
で発行したAPIトークンの文字列を入力します。
|
|
上記のコマンド実行時の例です。
以下のようにレコードのデータが出力されていれば、データの取得に成功しています。
|
|
STEP 3. CSVファイルに出力する
次は、取得したデータをファイルにエクスポートしてみましょう。
たとえば、「export.csv」というファイルにエクスポートする場合、次のように書きます。
|
|
ディレクトリを指定せずにエクスポートすると、cli-kintoneの実行ファイルを置いたディレクトリにファイルが保存されます。
文字コードを指定して保存
デフォルトでは、文字列データはUTF-8でエクスポートされます。
それ以外の文字コードでファイルにエクスポートしたい場合は--encoding
オプションを使用します。
Shift-JIS形式でエクスポートする場合、次のように書きます。
|
|
STEP 4. 一部のフィールドのみを出力する
ここまでは、レコードに含まれるすべてのフィールドのデータが出力されていました。
次は、一部のフィールドのデータのみを出力する方法をやってみましょう。
エクスポートするフィールドを指定するには、--fields
オプションを使います。
--fields
オプションで指定するのは、フィールド名ではなく、フィールドコードです。
顧客リストアプリから、以下のフィールドのみをエクスポートする場合のコマンド例です。
- レコード番号(フィールドコード:id)
- 会社名(フィールドコード:company)
- 担当者名(フィールドコード:name)
|
|
STEP 5. 絞り込み条件と並び順を指定する
次は、特定の条件を満たすレコードだけを出力したり、出力時の並び順を指定したりしてみましょう。
絞り込み条件を指定するには、--condition
オプションを使います。
また、並び順を指定するには、--order-by
オプションを使います。
顧客リストアプリの部署名が「営業部」のレコードを、レコード番号降順でエクスポートする場合、次のように書きます。
|
|
絞込み条件の指定方法は、
cli-kintoneでのクエリの書き方|絞り込み条件
を参考にしてください。
cli-kintoneのクエリの指定では、エスケープが必要です。
たとえば、部署名(フィールドコード:department)が「営業部」のレコードを指定する際は、--condition department=\"営業部\"
のように"
をエスケープします。
STEP 6. テーブルのデータの出力形式を確認する
最後に、テーブルを含むレコードのデータがどのように出力されるのか確認してみましょう。
動作確認用として、 アプリストア にある 交通費申請アプリ を作成します。
以下のように、テーブルに2行以上データを含むレコードを3件ほど登録します。
STEP 1 と同様に交通費申請アプリのAPIトークンを発行し、登録したレコードのデータをエクスポートします。
|
|
エクスポートしたCSVファイルをみてみると、次のようにデータが入っています。
ここでは、3レコード分のデータがエクスポートされています。
見方のポイントは次のとおりです。
- テーブルを含むレコードの場合、1レコードに対してテーブルの行数分のデータがエクスポートされる。
- 1列目に
*
が出力され、*
の行から次の*
の前の行までが1つのレコードのデータを表す。
つまり、1列目に*
がついていない行は、そのレコードのテーブルの2行目以降のデータということになります。
今回の例では、次のテーブルデータが入っています。
- レコード番号1:3行
- レコード番号2:2行
- レコード番号3:3行
おわりに
今回は、cli-kintoneを使って、レコードのデータをエクスポートする方法を学びました。
データをエクスポートする際に使えるその他のオプションについては、
オプション一覧
にまとまっています。
次回は、 データのインポートとレコードの削除 の方法について学びましょう。
このTipsは、cli-kintone Ver 1.8.0と2023年8月版kintoneで動作を確認しています。