Funzioni Python di Alteryx
Importante
Le funzioni elencate, che sono disponibili nell'ambito del pacchetto Alteryx quando viene eseguito tramite il comando from ayx import Alteryx, consentono di scambiare dati fra Alteryx e Jupyter.
Leggere i dati
Alteryx.read("<input connection name>"): restituisce i dati di input sotto forma di DataFrame Pandas. Gli ancoraggi di input sono a base 1, ovvero "#1", "#2" e così via.
Esempi
df = Alteryx.read("#1") restituisce SUCCESS dopo la lettura dei dati di input "#1".
Lettura di metadati
Alteryx.readMetadata("<input connection name>" or <pandas dataframe>): restituisce i metadati dei campi di input sotto forma di dizionario, con tipo dati dict. Gli ancoraggi di input sono a base 1, ovvero "#1", "#2" e così via.
Esempi
md = Alteryx.readMetadata("#1"); print(md);restituisce {'Field1': {'type': 'Byte', 'length': 1, 'source': 'TextInput:', 'description': ''}}.md = Alteryx.readMetadata(df); print(md);restituisce {'Field1': {'type': 'Byte', 'length': 1, 'source': '', 'description': ''}}.
Scrivi dati
Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]): durante l'esecuzione del flusso di lavoro, passa il DataFrame completo ad Alteryx. Se lo desideri puoi passare anche i metadati, sotto forma di elenco (utilizzando l'ordine delle colonne) o di dizionario (utilizzando i nomi delle colonne). Gli ancoraggi di output sono a base 1, ovvero "#1", "#2" e così via.
Per restituire i dati di output dello strumento Python, usa la funzione Alteryx.write. Per inviare dati ad altri strumenti nell'area di disegno, usa il metodo in questo modo:
# 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)
Il metodo Alteryx.writeaccetta solo Pandas DataFrames. Se si dispone di dati in un altro formato, utilizzare la libreria Pandas per convertirlo in un DataFrame. La libreria Pandas viene installata insieme a Designer, pertanto è già disponibile. Per accedervi, usa il comando import pandas.
È possibile inviare fino a cinque DataFrame agli ancoraggi di output.
Esempi
Alteryx.write(df, 1)restituisce SUCCESS dopo la scrittura dei dati dell'ancoraggio 1 per la connessione in uscita.Alteryx.write(df, 2, Alteryx.readMetadata("#1"))restituisce SUCCESS dopo la scrittura dei dati dell'ancoraggio 2 per la connessione in uscita.Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}})restituisce SUCCESS dopo la scrittura dei dati dell'ancoraggio 3 per la connessione in uscita.Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}])restituisce SUCCESS dopo la scrittura dei dati dell'ancoraggio 4 per la connessione in uscita.
Elenco delle connessioni in entrata
Alteryx.getIncomingConnectionNames( ): restituisce l'elenco di tutte le connessioni dati in entrata. Se la connessione non sembra correttamente sincronizzata, esegui di nuovo il flusso di lavoro Alteryx.
Esempi
Alteryx.getIncomingConnectionNames() restituisce ["#1", "#2", "model"].
Installazione di pacchetti
Alteryx.installPackages("<package name or list of package names>"): consente di installare pacchetti da PyPI. È necessaria una connessione Internet. Inoltre, se utilizzi un'installazione amministrativa di Alteryx, per installare i pacchetti devi aprire Alteryx in modalità Amministratore. Questa limitazione non si applica alle installazioni non amministrative.
Esempi
Alteryx.installPackages("tensorflow")Alteryx.installPackages(["keras","theano","gensim"])
Costanti dei flussi di lavoro
Recupero delle costanti dei flussi di lavoro
Alteryx.getWorkflowConstant("<constant name>"): restituisce il valore di una costante di un flussi di lavoro Alteryx. In Designer le costanti sono accessibili dalla scheda Flusso di lavoro della finestra Configurazione flusso di lavoro.
Importante
Evitare di utilizzare i wrapper %nelle costanti del flusso di lavoro. Invece, ad esempio, utilizzare questa opzione per chiamare il Engine.WorkflowDirectory:
from ayx import Alteryx
Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")Esempi
Alteryx.getWorkflowConstant("Engine.TempFilePath") restituisce 'C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\'.
Recupero di tutte le costanti
Alteryx.getWorkflowConstants( ): restituisce i valori di tutte le costanti dei flussi di lavoro Alteryx, sotto forma di dizionario.
Esempi
Alteryx.getWorkflowConstants() restituisce:
{
'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'
}Importazione di moduli Python
Alteryx.importPythonModule("<path>", [list of submodules]): restituisce un oggetto modulo che rappresenta la directory o il file Python specificato. Per impostazione predefinita, se viene specificata una directory vengono importati tutti i sottomoduli, ma puoi anche specificare un elenco di sottomoduli utilizzando l'argomento facoltativo submodules.
Esempi
myscript = Alteryx.importPythonModule("C:\\documents\\my_script.py")myscript.square(3)restituisce 9.mypkg = Alteryx.importPythonModule("C:\\documents\\my_package")mypkg.module1.half( mypkg.subpkg.max_value )restituisce 4
I frammenti di codice riportati sopra sono basati sui file e sulle cartelle che seguono:
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)
