データのエクスポート

目次

はじめに

前回は、cli-kintone の概要や環境構築について説明しました。
今回からは、実際に手を動かして cli-kintone の使い方を紹介していきます。
まずは、コマンドライン上から kintone のデータを出力する方法を学びましょう。

準備するもの

はじめに、以下の手順で kintone にアプリを作成しましょう。
ここで作成したアプリは、今後のチュートリアルの中でも使用します。

  1. アプリストア (External link) にある 顧客リストアプリ (External link) を作成します。

  2. 以下のようにサンプルデータを数件レコードに登録します。

  3. あとで分かりやすくするため、下表のようにフィールドコードを英数字に修正しておきましょう。

    フィールド名 フィールドコード
    会社名 company
    部署名 department
    担当者名 name
    郵便番号 post_code
    TEL tel
    FAX fax
    住所 address
    顧客ランク rank
    メールアドレス mail_address
    会社ロゴ company_logo
    備考 note
    レコード番号 id

STEP 1. API トークンを発行する

上記で作成した kintone の顧客リストアプリへアクセスするための API トークンを発行します。
API トークンの生成方法は APIトークンを生成する (External link) を参照してください。
今回は、レコードのデータを出力することが目的なので、「レコード閲覧」のアクセス権にチェックを入れます。

STEP 2. コマンドライン上に出力する

レコードのデータを出力するには、record export を指定します。
たとえば、ドメイン名が「sample.cybozu.com」、アプリ ID が 299 だった場合、次のように書きます。
API トークンは、 STEP 1 で発行した API トークンの文字列を入力します。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン

上記のコマンド実行時の例です。
以下のようにレコードのデータが出力されていれば、データの取得に成功しています。

1
2
3
4
"company","department","name","post_code","tel","fax","address","rank","mail_address","company_logo","note","record_id","作成者","作成日時","更新者","更新日時"
"戸田ネットソリューションズ","開発本部","川崎 丈史","3200001","092-××××-××××","050-××××-××××","栃木県宇都宮市××××","A","kawasaki_takeshi@example.com",,,"1","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"
"田端食品","総務部","川越 憲一","3300041","050-××××-××××","050-××××-××××","埼玉県浦和市××××","B","kawagoe_kenichi@example.com",,,"2","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"
"株式会社中川工業","営業部","戸塚 璃子","4130001","042-××××-××××","050-××××-××××","静岡県熱海市××××","C","toduka_riko@example.com",,,"3","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"

STEP 3. CSVファイルに出力する

次は、取得したデータをファイルにエクスポートしてみましょう。
たとえば、「export.csv」というファイルにエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン > C:\Users\Desktop\export.csv
information

ディレクトリーを指定せずにエクスポートすると、cli-kintone の実行ファイルを置いたディレクトリーにファイルが保存されます。

文字コードを指定して保存

デフォルトでは、文字列データは UTF-8 でエクスポートされます。
それ以外の文字コードでファイルにエクスポートしたい場合は --encoding オプションを使用します。
Shift-JIS 形式でエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --encoding sjis > C:\Users\Desktop\export_sjis.csv

STEP 4. 一部のフィールドのみを出力する

ここまでは、レコードに含まれるすべてのフィールドのデータが出力されていました。
次は、一部のフィールドのデータのみを出力する方法をやってみましょう。

エクスポートするフィールドを指定するには、--fields オプションを使います。
--fields オプションで指定するのは、フィールド名ではなく、フィールドコードです。
顧客リストアプリから、以下のフィールドのみをエクスポートする場合のコマンド例です。

  • レコード番号(フィールドコード:id)
  • 会社名(フィールドコード:company)
  • 担当者名(フィールドコード:name)
1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --fields "id,company,name"

STEP 5. 絞り込み条件と並び順を指定する

次は、特定の条件を満たすレコードだけを出力したり、出力時の並び順を指定したりしてみましょう。
絞り込み条件を指定するには、--condition オプションを使います。
また、並び順を指定するには、--order-by オプションを使います。
顧客リストアプリの部署名が「営業部」のレコードを、レコード番号降順でエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --condition department=\"営業部\" --order-by "id desc"
information

絞込み条件の指定方法は、 cli-kintone でのクエリの書き方|絞り込み条件 を参考にしてください。
cli-kintone のクエリの指定では、エスケープが必要です。
たとえば、部署名(フィールドコード:department)が「営業部」のレコードを指定する際は、--condition department=\"営業部\" のように " をエスケープします。

STEP 6. テーブルのデータの出力形式を確認する

最後に、テーブルを含むレコードのデータがどのように出力されるのか確認してみましょう。

動作確認用として、 アプリストア (External link) にある 交通費申請アプリ (External link) を作成します。

以下のように、テーブルに 2 行以上データを含むレコードを 3 件ほど登録します。

STEP 1 と同様に交通費申請アプリの API トークンを発行し、登録したレコードのデータをエクスポートします。

1
cli-kintone.exe record export --app 300 --base-url https://sample.cybozu.com --api-token APIトークン > C:\Users\Desktop\export_table.csv

エクスポートした CSV ファイルをみてみると、次のようにデータが入っています。
ここでは、3 レコード分のデータがエクスポートされています。

見方のポイントは次のとおりです。

  • テーブルを含むレコードの場合、1 レコードに対してテーブルの行数分のデータがエクスポートされる。
  • 1 列目に * が出力され、* の行から次の * の前の行までが 1 つのレコードのデータを表す。

つまり、1 列目に * がついていない行は、そのレコードのテーブルの 2 行目以降のデータということになります。
今回の例では、レコード番号 1 では 3 行、レコード番号 2 では 2 行、レコード番号 3 では 3 行、テーブルのデータが入っているということになります。

おわりに

今回は、cli-kintone を使って、レコードのデータをエクスポートする方法を学びました。
データをエクスポートする際に使えるその他のオプションについては、 オプション一覧 にまとまっています。

次回は、 データのインポートとレコードの削除 の方法について学びましょう。

information

この Tips は、cli-kintone Ver 1.8.0 と 2023 年 8 月版 kintone で動作を確認しています。