Alteryx Pythonの機能
重要
以下の関数が、from ayx import Alteryxを実行してインポートできるAlteryxパッケージに含まれています。これらの関数を使用すると、AlteryxとJupyterの間でデータを渡すことができます。
データの読み込み
Alteryx.read("<input connection name>"): 入力データをPandas DataFrameとして返します。入力アンカーは1から始まる番号で、"#1"、"#2"などです。
例
df = Alteryx.read("#1")はSUCCESSを返し、入力データ"#1"を読み込みます。
メタデータの読み込み
Alteryx.readMetadata("<input connection name>" or <pandas dataframe>): 入力フィールドのメタデータをdict (辞書)として返します。入力アンカーは1から始まる番号で、"#1"、"#2"などです。
例
md = Alteryx.readMetadata("#1"); print(md);は、{'Field1': {'type': 'Byte', 'length': 1, 'source': 'TextInput:', 'description': ''}}を返します。md = Alteryx.readMetadata(df); print(md);は、{'Field1': {'type': 'Byte', 'length': 1, 'source': '', 'description': ''}}を返します。
データを書き込む
Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]): ワークフローの実行時に、全データフレームをAlteryxに渡します。メタデータは、list (リスト)(列順を使用)またはdict (列名を使用)としてオプションで渡すことができます。出力アンカーは1から始まる番号で、"#1"、"#2"などです。
Pythonツールからのデータ出力には、Alteryx.writeを使用してください。キャンバス上の他のツールにデータを送信するには、次の方法を使用します:
# Replace "PANDAS_DF" with your data, in DataFrame form. # Replace "OUTPUT_ANCHOR_NUM" with the number of your output anchor. Alteryx.write(PANDAS_DATAFRAME, OUTPUT_ANCHOR_NUM)
Alteryx.writeメソッドは、Pandas DataFrameのみを受け入れます。別の形式のデータがある場合は、Pandasライブラリを使用してDataFrameに変換します。Pandasライブラリは、Designerと一緒にインストールされています。アクセスするには、import pandasを使用します。
最大 5 つのデータフレームを出力アンカーに送信できます。
例
Alteryx.write(df, 1)はSUCCESSを返し、出力接続データ1に書き込みます。Alteryx.write(df, 2, Alteryx.readMetadata("#1"))はSUCCESSを返し、出力接続データ2に書き込みます。Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}})はSUCCESSを返し、出力接続データ3に書き込みます。Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}])はSUCCESSを返し、出力接続データ4に書き込みます。
入力接続をリスト表示
Alteryx.getIncomingConnectionNames( ): すべての入力データ接続を含むリストを返します。接続が同期していない場合は、Alteryxワークフローを再実行します。
例
Alteryx.getIncomingConnectionNames() は、["#1","#2","model"]を返します。
パッケージのインストール
Alteryx.installPackages("<package name or list of package names>"): PyPIからパッケージをインストールします。これには、インターネット接続が必要です。また、Alteryxの管理者インストールを使用している場合、パッケージをインストールするにはAlteryxを管理者モードで開く必要があります。非管理者インストールの場合は、そうした制限はありません。
例
Alteryx.installPackages("tensorflow")Alteryx.installPackages(["keras","theano","gensim"])
ワークフロー定数
ワークフロー定数の取得
Alteryx.getWorkflowConstant("<constant name>"): Alteryxワークフロー定数の値を返します(これらは、Designerのワークフロー設定の[ワークフロー]タブからアクセスできます)。
重要
ワークフロー定数で % ラッパーを使用しないようにします。たとえば、代わりに以下を使用して Engine.WorkflowDirectory を呼び出します。
from ayx import Alteryx
Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")例
Alteryx.getWorkflowConstant("Engine.TempFilePath") 'C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\'を返します。
すべての定数の取得
Alteryx.getWorkflowConstants( ): すべてのAlteryxワークフロー定数の値をdictで返します。
例
Alteryx.getWorkflowConstants()は以下を返します。
{
'Engine.GuiInteraction': '1',
'Engine.IterationNumber': 0,
'Engine.ModuleDirectory': 'C:\my_workflows\',
'Engine.TempFilePath': 'C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\',
'Engine.Version': '2018.3.0.9999',
'Engine.WorkflowDirectory': 'C:\my_workflows\',
'Engine.WorkflowFileName': 'my_workflow.yxmd'
}Pythonモジュールのインポート
Alteryx.importPythonModule("<path>", [list of submodules]): 指定したPythonファイルまたはディレクトリを表すモジュールオブジェクトを返します。ディレクトリが指定されている場合、既定ではすべてのサブモジュールがインポートされますが、オプションのサブモジュール引数を使用してリスト表示するサブモジュールを指定できます。
例
myscript = Alteryx.importPythonModule("C:\\documents\\my_script.py")myscript.square(3)は、9を返します。mypkg = Alteryx.importPythonModule("C:\\documents\\my_package")mypkg.module1.half( mypkg.subpkg.max_value )は、4を返します。
上記のコードスニペットは、次のファイルとフォルダーに基づいています。
C:\documents C:\documents\my_script.py ^^^ (contains a function square() that returns the input value squared) C:\documents\my_package C:\documents\my_package\__init__.py C:\documents\my_package\module1.py ^^^ (contains a function half() that returns half of the input value) C:\documents\my_package\subpkg C:\documents\my_package\subpkg\__init__.py ^^^ (contains a variable max_value = 8)
