集成 Python 脚本

概念信息

PYCOMMAND 命令

您可以使用 ACLScript Python 命令无缝集成 Analytics 脚本和 Python 脚本。您可以使用该命令在两个环境之间来回移动数据,这意味着 Analytics 中的单个数据分析工作流可以使用最适合特定任务的任何环境。

说明

要使用 ACLScript Python 命令,必须在将运行命令的计算机上安装并配置 Python 的兼容版本。有关详细信息,请参阅配置 Python 以便与 Analytics 一起使用

工作原理

Python 命令将 Analytics 表作为数据帧传递给外部 Python 脚本,在 Python 脚本执行期间等待,然后使用 Python 脚本返回的输出在 Analytics 项目中创建一个新表。在运行 Analytics 脚本的过程中,您可以根据需要多次使用 Python 命令。

Analytics 安装中包含两个 Python 函数,您可以在 Python 脚本中使用它们来输入和输出数据:

  • 输入数据 acl_py_util.from_an(),将数据从 Analytics 导入到 Python

  • 输出数据 acl_py_util.to_an(),将数据从 Python 导出到 Analytics

将 Python 命令用于不同目的

ACLScript Python 命令提供了灵活性,可以用于不同的目的。

  • 对数据进行双向处理 将数据从 Analytics 导入到 Python,在 Python 中执行分析,并将分析结果导出回到 Analytics

  • 单向发送数据 将数据从 Analytics 导入到 Python,在 Python 中执行分析或进行文件转换,并将结果保存到非 Analytics 的目标或文件格式

  • 单向发送数据 将数据从外部源导入到 Python,在 Python 中执行分析或进行文件准备,然后将结果导出到 Analytics

  • 不传输数据 在 Analytics 中,触发 Python 脚本以执行与整个工作流程相关的任务

将 Analytics 和 Python 脚本保持一致

ACLScript Python 命令以及用于输入和输出数据的两个 Python 函数使用起来相对简单。但是,您必须确保 ACLScript Python 命令和相应 Python 脚本中的脚本逻辑一致。缺乏一致性会导致集成过程失败。下表提供了指南。

ACLScript Python 命令 Python 脚本
  • 导出数据

  • 必须出现数据导入函数:
    acl_py_util.from_an()

  • 指定使用 Analytics 域名称导出数据

  • 任何引用的域名都必须与 Analytics 域名称匹配

  • 指定要运行的 Python 脚本

  • 必须存在与名称和文件路径位置相匹配的 Python 脚本

  • 指定将表返回给 Analytics

  • 必须出现数据输出函数:
    acl_py_util.to_an()

使用日志文件进行故障排除

Analytics 创建了两个与 ACLScript Python 命令关联的日志文件。日志可以帮助您排除 Analytics 和 Python 之间的集成故障,以及调试相关 Analytics 和 Python 脚本中的错误。

日志文件存储在 Analytics 项目文件夹中:

  • aclpython.log – 当 ACLScript Python 命令失败时记录 Analytics 错误消息

  • acl_py_util.log – 记录 Python 脚本输出的消息

    acl_py_util.log 是 Analytics 安装中附带的可配置日志。有关如何设置和配置日志的信息,请参阅Set up acl_py_util.log

运行 Python 脚本

使用 ACLScript Python 命令运行来自 Analytics 的 Python 脚本。命令中唯一需要的信息是您想要运行的 Python 脚本的文件路径和名称。

该命令允许您将数据从 Analytics 导出到 Python 脚本,或将数据从 Python 脚本返回到 Analytics。但是,传输数据并不是一项强制要求。

  1. 如果要将数据从 Analytics 导出到 Python 脚本,请打开包含数据的表。

  2. 从 Analytics 主菜单中选择分析 > Python

  3. Python 字段中,指定要运行的 Python 脚本的文件路径和名称。

    例如:C:\Python_data_analysis_scripts\testInOutput.py

    您可以单击浏览,然后前往计算机上的 Python 脚本。

    您可以指定 Python 脚本的相对路径,或者如果脚本位于 Analytics 项目文件夹中,则仅指定脚本文件名。

  4. 如果要将数据导出到 Python,请执行以下操作:

    1. 单击选择域并添加一个或更多个要包括在数据帧中的域。Analytics 使该数据帧可在 Python 脚本中使用。

      提示

      您还可以将表达式作为域包括在该数据帧中。要创建表达式,请单击表达式,然后在该对话框中使用可供您使用的函数、域和运算符。有关详细信息,请参阅表达式生成器概览

    2. 可选。在数据导出选项部分,定义您想要如何将 Analytics 数据发送到 Python 脚本。

      有关详细信息,请参阅数据导出选项

    3. 可选。要过滤被发送给 Python 脚本的记录,请单击如果并使用表达式生成器对话框创建一个要用作过滤器的条件表达式。

      有关使用表达式生成器创建表达式的详细信息,请参阅使用表达式生成器创建表达式

  5. 如果要从 Python 返回数据,请执行以下操作:

    1. 文本框中,为包含返回数据的表指定一个名称。

      您可以单击,然后使用文件资源管理器前往要用于存储源数据文件的文件夹。

      说明

      Analytics 表名称限制为 64 个字母数字字符,且不包括 .FIL 扩展名。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。

    2. 如果您想让表在操作完成后自动打开,请选择使用输出表

  6. 可选。在该对话框的更多选项卡上,指定您想要使用的任何范围选项。

    有关详细信息,请参阅“更多”选项卡

  7. 单击确定以运行该命令。

    如果您收到错误消息,并且 Python 命令或 Python 脚本无法运行,请验证选项对话框中的 Python 路径值是否已正确指定。有关详细信息,请参阅将虚拟环境路径添加到 Analytics 选项中

PYCOMMAND 对话框选项

数据导出选项

选项 描述
用域名导出 将源 Analytics 表的域名用作 Python 数据帧的列名称。此选项设置该命令上的 KEEPTITLE 选项。如果您想要在 Python 脚本中使用列名称检索数据,则需要使用此选项。
列分隔符 要在向 Python 发送数据时用作域之间分隔符的字符。
文本限定符

要在向 Python 发送数据时用作标识域值的文本限定符的字符。

“更多”选项卡

选项 描述
全部 处理视图中的所有记录(默认选择)。
从表中的第一个记录开始处理,并且仅包括指定数量的记录。
下一页

从表中当前选定的记录开始处理,并且仅包括指定数量的记录。

说明

选项中指定的记录数参考表中记录的物理或索引顺序,不考虑对视图进行过滤或快速分类的情况。不过,解析操作的结果与任何过滤相关。

如果视图进行了快速分类,操作相同。

While

使用 WHILE 语句根据相应的条件限制对主表中记录的处理。

仅当指定的条件评估为真时,才对视图中的记录进行处理。当条件变为假时,处理立即终止,不再考虑剩余的记录。有关详细信息,请参阅使用表达式生成器创建表达式