Função PYDATETIME( )

Retorna um valor de datahora calculado por uma função em um script do Python externo. O processamento de dados no Python é externo ao Analytics.

Sintaxe

PYDATETIME("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros

Nome Tipo Descrição
ArquivoPy; FunçãoPy

caractere

O nome do script do Python a ser executado, seguido por uma vírgula e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A função chamada pode conter outras funções dentro do script ou de outros scripts. No entanto, todos os scripts executados devem ser colocados em uma pasta na variável de ambiente do sistema PYTHONPATH antes da execução.

Para obter mais informações, consulte Configuração do Python para uso com o Analytics.

Nota

Sua PyFunção deve retornar um objeto datahora do Python.

campo|valor <;...n>

opcional

caractere

numérico

datahora

lógico

Essa é uma lista de campos, expressões ou valores literais para usar como argumentos para a função do Python. Os valores são passados para a função chamada na ordem em que são especificados.

Você pode incluir o número de argumentos necessário para atender à definição da função no script do Python.

Nota

Use a função ALLTRIM( ) para remover todos os espaços à esquerda ou à direita de entradas de caracteres: ALLTRIM(cadeia). Para obter mais informações, consulte Função ALLTRIM( ).

Saída

Datahora.

Exemplos

Exemplos básicos

Retorna `20170101t0500`:

PYDATETIME("hello, combine_date_time"; `20170101`; `t0500`)

Script do Python externo que aceita um argumento de data e um argumento de hora e retorna um objeto Datahora combinado:

# conteúdo de hello.py
from datetime import datetime

def combine_date_time(d,t):
    return datetime.combine(d,t)

Exemplos avançados

Adição de tempo a uma datahora

Retorna `20160101t2230`:

PYDATETIME("hello,adicionar_tempo"; `20160101 150000`; `t073000`)

Script do Python externo que aceita uma datahora e uma hora e adiciona a hora à datahora: 2016-01-01 15:00:00 + 7 horas, 30 minutos, 00 segundos = 2016-01-01 22:30:00.

# conteúdo de hello.py
from datetime import timedelta
from datetime import datetime
from datetime import time
def add_time(start, time_to_add):
    return start + timedelta(hours=time_to_add.hour, minutes=time_to_add.minute, seconds=time_to_add.second)
Guia de scripting do ACL 14.1