Pythonアクション
最終更新
Pythonコードを記述することができるアクションです。
ではPythonの内包表記(ワンライナー)のみをサポートしているのに対し、 Pythonアクションでは内包表記に限らず複数行のPythonコードを記述することができます。
Pythonアクションではdef main(inputs):
の形式で定義されるmain関数を実行することができます。
main関数では引数(inputs)としてオブジェクトや配列などの構造体を渡すことができます。
main関数での処理結果は戻り値として return できます。
引数と戻り値のスキーマはそれぞれ事前に定義しておく必要があります。 ただしオブジェクトの中身までは定義する必要はありません。
Pythonアクションでは、以下に示すformulaと同様の記法と、print()
を使用することができます。
セキュリティの関係上、import
は使用できません。
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"
)