Anyflow Embed Docs
管理画面を開く
  • 👋イントロダクション
    • はじめに
    • 初期セットアップ
    • 用語集
  • 🔰トライアルツアー
    • トライアルツアー初級編
      • STEP1|アカウント作成 〜 ソリューション作成
      • STEP2|エンドユーザー変数
      • STEP3|ifステップ
      • STEP4|変数の活用、デバッグ
      • 動画チュートリアル
    • トライアルツアー中級編
      • STEP1 | 独自のアクションを追加する
      • STEP2 | My Event を理解する
      • STEP3 | My Event を実装する
    • トライアルツアーが終わったら
  • 🍳レシピ
    • CRM
      • SalesforceのToDoデータを取得する
      • Salesforceの取引先データを取得する
      • Salesforceの取引先データを登録する
      • Salesforceの商談を取得する
      • Salesforceのリードを取得する
      • HubSpotのコンタクトデータを取得する
      • HubSpotの会社データを取得する
      • HubSpotの取引データを取得する
    • コミュニケーション
      • Slack チャンネルにファイルをアップロードする
      • Slack チャンネルのメンバー情報一覧を取得する
      • 独自のSlackBotを設定する
    • 人事労務
      • SmartHRの部署データを取得する
      • SmartHRの従業員データを取得する
      • freee人事労務の従業員データを取得する
      • freee人事労務の勤怠データを取得する
    • 会計
      • freee会計の事業所データを取得する
      • freee会計の取引先データを取得する
      • freee会計の取引データを取得する
      • freeeコネクタのスコープを変更する
    • グループウェア
      • Google DriveのOAuthアプリを作成する
  • 🎨ソリューションエディタ
    • ソリューションエディタとは
    • トリガー
      • 自社プロダクト起点
        • Clickトリガー
        • Requestトリガー
          • Responseステップ
        • My Eventトリガー
          • アクセストークンの発行
        • Webhookトリガー
        • Request / My Event / Webhook トリガーの違い
      • 外部プロダクト起点
        • ポーリングトリガー
        • リアルタイムトリガー
      • スケジューラートリガー
      • トリガー条件
    • アクション
      • APIの呼び出し
        • 専用アクション
        • カスタムアクション
        • HTTPアクション
      • データの変換
        • Pythonアクション
        • 変数アクション
        • リストアクション
        • 日付と時刻アクション
        • CSVアクション
      • データの記録
        • キーバリューストア(KVS)アクション
        • ログアクション
        • メールアクション
    • ロジック
      • if
      • 繰り返し
      • エラー監視
      • 停止
    • 変数
      • 標準変数
      • エンドユーザー変数
    • 共通仕様
      • スキーマ定義
      • 固定リストと動的リスト
      • Formula
  • 🖼️ウィザードエディタ
    • ウィザードエディタとは
    • ウィジェット
      • アシスト
      • 複数選択アシスト
      • テーブルアシスト
      • チェックボックス
      • マッピング
      • コンディション
      • CSV(ファイル全体)
      • CSV項目(ヘッダーのみ)
    • ウィザードの仕様
    • 詳細設定
      • Markdown記法
      • テキストの入力パターンを指定する
      • デフォルト値を指定する
  • 🔌コネクタ
    • 対応コネクタ一覧
    • SaaSコネクタ固有の注意点
      • SaaS側でIPアドレス制限をしている場合
      • 自社独自のOAuthクライアントが必須のSaaS
      • cybozu.com製品で認証エラーとなる場合
      • kintoneコネクタとkintone(OAuth)コネクタの違い
      • ZoomコネクタとZoom(カスタム)コネクタの違い
      • SlackBotコネクタの違い
      • 2種類のSmartHRコネクタについて
    • OAuth画面をカスタムする
  • 🚀リリース
    • テスト
    • デプロイ
    • デプロイ環境
    • エンドユーザーへの提供方法
    • 自社プロダクトへの組み込み
      • JWTや公開鍵を生成する
      • SDK組み込みツアー
    • Anyflowドメインでの提供
  • 🧰運用/保守
    • 実行履歴
      • エンドユーザー向け実行履歴
      • ベンダー向け実行履歴
    • エラーへの対応
      • 連携先アプリの認証エラー
      • アクションの自動リトライ
      • ソリューションの再実行
    • イベント通知
    • ソリューション実行の上限値
    • ソリューションの削除
  • 📄ポリシー
    • 障害時の対応
    • エンドユーザーの問い合わせ
    • サービスレベル/稼働率
    • サービスの責任範囲
    • セキュリティポリシー
  • ⚙️Anyflow SDK
    • Anyflow SDK v0.13.0
      • エラータイプ
      • リファレンス
      • マイグレーションガイド
      • よくあるご質問
  • ⚙️Anyflow API
    • Vender Server API
      • Open API Specification
    • End User API
      • Open API Specification
    • Webhook
      • Open API Specification
GitBook提供
このページ内
  • 概要
  • 使い方
  • 使用可能な記法
  1. ソリューションエディタ
  2. アクション
  3. データの変換

Pythonアクション

前へデータの変換次へ変数アクション

最終更新 10 日前

概要

Pythonコードを記述することができるアクションです。

ではPythonの内包表記(ワンライナー)のみをサポートしているのに対し、 Pythonアクションでは内包表記に限らず複数行のPythonコードを記述することができます。

使い方

Pythonアクションではdef main(inputs):の形式で定義されるmain関数を実行することができます。

main関数では引数(inputs)としてオブジェクトや配列などの構造体を渡すことができます。

main関数での処理結果は戻り値として return できます。

引数と戻り値のスキーマはそれぞれ事前に定義しておく必要があります。 ただしオブジェクトの中身までは定義する必要はありません。

使用可能な記法

Pythonアクションでは、以下に示すformulaと同様の記法と、print() を使用することができます。

セキュリティの関係上、import は使用できません。

🎨
formula
基本定数
  • None:null(値が存在しない)を示す定数

  • True / False:真または偽を表す真偽値定数

型変換
  • bool(x):真偽値に変換する

  • str(x):文字列に変換する

  • int(x):整数に変換する

  • float(x):浮動小数点数に変換する

  • chr(x):Unicodeコードを文字に変換

  • ord(x):文字をUnicodeコードに変換

  • hex(x):16進数文字列に変換

  • oct(x):8進数文字列に変換

  • json_dumps(obj):オブジェクトをJSON形式の文字列に変換

  • json_loads(str):JSON文字列をオブジェクトに変換

数字
  • abs(x):x の絶対値を返す

  • max(iterable):最大値を返す

  • min(iterable):最小値を返す

  • sum(iterable):合計値を返す

  • pow(x, y):x の y 乗を返す

  • round(x):x を四捨五入して返す

  • floor(x):x を切り捨てる(小数点以下切り捨て)

  • ceil(x):x を切り上げる(小数点以下切り上げ)

  • all(iterable):すべての要素が真なら True を返す

  • any(iterable):いずれかの要素が真なら True を返す

文字列

関数

  • re.search(pattern, string):正規表現で部分一致検索

  • re.sub(pattern, repl, string):正規表現による文字列置換

  • zenkaku_to_hankaku(s):【Anyflow独自関数】 全角文字を半角に変換

  • hankaku_to_zenkaku(s):【Anyflow独自関数】 半角文字を全角に変換

大文字・小文字変換メソッド

  • .lower():すべて小文字に変換

  • .upper():すべて大文字に変換

  • .capitalize():先頭のみ大文字、他は小文字に変換

  • .title():各単語の先頭を大文字に

  • .swapcase():大文字と小文字を反転

  • .casefold():比較用の小文字変換(より厳密)

配置・埋め込みメソッド

  • .center(width):中央寄せで文字列を埋める

  • .ljust(width):左寄せで埋める

  • .rjust(width):右寄せで埋める

  • .zfill(width):左側をゼロで埋める

検索・位置取得メソッド

  • .find(sub):部分文字列の位置(見つからなければ -1)

  • .rfind(sub):右から検索

  • .index(sub):見つからなければエラー

  • .rindex(sub):右からの位置(エラー有)

  • .count(sub):出現回数

判定系メソッド

  • .startswith(prefix):指定文字で始まるか

  • .endswith(suffix):指定文字で終わるか

  • .isalnum():英数字かどうか

  • .isalpha():アルファベットかどうか

  • .isascii():ASCII 文字かどうか

  • .isdecimal():10進数字か

  • .isnumeric():数値文字か

  • .isspace():空白のみか

  • .islower():すべて小文字か

  • .isupper():すべて大文字か

  • .istitle():タイトル形式か

分割・結合メソッド

  • .split(sep):区切りで分割

  • .rsplit(sep):右から分割

  • .splitlines():改行で分割

  • .partition(sep):最初の区切りで3つに分割

  • .rpartition(sep):右からの区切りで分割

  • "sep".join(iterable):文字列のリストを結合

変更・整形メソッド

  • .replace(old, new):文字列の置換

  • .strip(chars):前後の指定文字を削除

  • .lstrip(chars):左端を削除

  • .rstrip(chars):右端を削除

  • .expandtabs(n):タブをスペースに変換

配列・辞書
  • len(x):要素数を返す

  • list(x):リストに変換する

  • dict(x):辞書に変換する

  • tuple(x):タプルに変換する

  • set(x):集合に変換する(重複を削除)

  • zip(a, b):複数の配列を要素ごとに結合

  • enumerate(x):インデックスと要素のペアを生成

  • range(n):整数の範囲を生成(0 から n-1 まで)

  • sorted(x):並び替えたリストを返す

  • groupby(iterable):【Anyflow独自関数】 指定キーでグループ化

  • get_first(list):【Anyflow独自関数】 リストの先頭要素を返す

日付・時間

関数

  • str_to_date(str):【Anyflow独自関数】 文字列を日付型に変換

  • str_to_datetime(str):【Anyflow独自関数】 文字列を日時型に変換

  • utcnow():【Anyflow独自関数】 UTC 現在時刻を返す

  • jstnow():【Anyflow独自関数】 日本時間の現在時刻を返す

メソッド

  • .add(**kwargs):指定した時間を加算(例:add(days=3))

  • .subtract(**kwargs):指定した時間を減算

  • .start_of("unit"):指定単位("day", "month" 等)の開始時刻を取得

  • .end_of("unit"):指定単位の終了時刻を取得

  • .format(format_string):指定書式で文字列に変換

  • .isoformat():ISO 8601 形式で出力

  • .is_future():未来の日付かどうか判定

  • .is_past():過去の日付かどうか判定

  • .weekday():曜日を数値(0〜6)で返す

  • .in_timezone("Asia/Tokyo"):タイムゾーンを変換

  • .is_dst():夏時間かどうか判定

  • .is_utc():UTCかどうか判定

共通属性(日時・日付どちらでも使用可能)

  • .day:日(1〜31)

  • .month:月(1〜12)

  • .year:年(例:2025)

  • .quarter:四半期(1〜4)

  • .day_of_week:曜日(0=月曜日, 6=日曜日)

  • .day_of_year:年初からの日数(1〜366)

  • .week_of_month:月の週番号(1〜5程度)

  • .week_of_year:年の週番号(ISO 8601形式:1〜53)

  • .days_in_month:その月の日数(28〜31)

時間属性(日時オブジェクトのみ使用可能)

  • .hour:時(0〜23)

  • .minute:分(0〜59)

  • .second:秒(0〜59)

  • .microsecond:マイクロ秒(0〜999999)

  • .int_timestamp:UNIXタイムスタンプ(整数)

  • .float_timestamp:UNIXタイムスタンプ(小数点付き)

  • .offset:UTCからの秒単位オフセット(例:+32400秒)

  • .offset_hours:UTCからの時間単位オフセット(例:+9.0)

  • .timezone_name:タイムゾーン名(例:"Asia/Tokyo")

エンコーディング・暗号化

関数

  • b64encode(s):【Anyflow独自関数】 Base64 で文字列をエンコード

  • b64decode(s):【Anyflow独自関数】 Base64 でデコード

  • quote(s):【Anyflow独自関数】 URLエンコード

  • unquote(s):【Anyflow独自関数】 URLデコード

  • hmac.new(key, msg, digestmod):HMAC署名を作成

メソッド

  • .encode():文字列をバイト列に変換

  • .decode():バイト列を文字列に変換

その他
  • condition(condition, true_value, false_value):【Anyflow独自関数】 条件式に応じた値を返す(三項演算子)