出力の制御#

annfoabcli task list コマンドなど、情報を出力するコマンドで出力を制御する方法について記載します。

出力形式の指定#

--format で出力形式を指定できます。原則以下の値を指定できます。

  • csv : CSV

  • json : インデントや空白がないJSON

  • pretty_json : インデントされたJSON

CSVの出力形式#

--csv_format で、CSVの出力形式を指定できます。 指定した値は、pandas.DataFrame.to_csv の引数として渡されます。 デフォルトでは「カンマ区切り、BOM付UTF-8」で出力します。

以下のコマンドは、タブ区切りで出力します。

$ annofabcli task list --format csv --csv_format '{"sep": "\t"}'

注釈

デフォルトのエンコーディングが「BOM付UTF-8」なのは、ExcelでCSVを開いたときに文字化けしないようにするためです。

出力内容のフィルタリング#

--queryJMESPath に従った文字列を指定することで、出力結果を絞り込むことができます。

たとえば以下のコマンドはタスク一覧から、担当者のuser_idの一覧を出力します。

$ annofabcli task list --project_id prj1 --format json --query "[*].user_id"

出力先の指定#

出力結果は --output に指定したファイルに出力されます。--output を指定しない場合は、標準出力に出力されます。