- 发行说明
- 入门指南
- 安装
- 配置
- 集成
- 身份验证
- Working with Apps and Discovery Accelerators
- AppOne 菜单和仪表板
- AppOne 设置
- TemplateOne 1.0.0 菜单和仪表板
- TemplateOne 1.0.0 设置
- TemplateOne menus and dashboards
- TemplateOne 2021.4.0 设置
- Purchase to Pay Discovery Accelerator 菜单和仪表板
- 购买到付款 Discovery Accelerator 设置
- Order to cash Discovery Accelerator 菜单和仪表板
- “订单到现金” Discovery Accelerator 设置
- Basic Connector for AppOne
- SAP Connectors
- 适用于 AppOne 的 SAP 订单到现金连接器
- 适用于 AppOne 的 SAP 采购到付款连接器
- SAP Connector for Purchase to Pay Discovery Accelerator
- SAP Connector for Order-to-Cash Discovery Accelerator
- Superadmin
- 仪表板和图表
- 表格和表格项目
- 应用程序完整性
- How to ....
- 使用 SQL 连接器
- Introduction to SQL connectors
- Setting up a SQL connector
- CData Sync extractions
- Running a SQL connector
- Editing transformations
- 释放 SQL 连接器
- Scheduling data extraction
- Structure of transformations
- Using SQL connectors for released apps
- Generating a cache with scripts
- Setting up a local test environment
- Separate development and production environments
- 实用资源
Process Mining
Example: Creating a Python Script
此示例说明如何将 UiPath Process Mining 平台与外部 Python 脚本接口,以实现外部数据处理。
通用脚本数据源需要用于要运行的所有外部流程的处理程序。
请按照以下步骤添加通用脚本处理程序。
步骤 |
操作 |
---|---|
1 |
转到“超级管理员设置”选项卡。 |
2 |
添加一个字段
GenericScriptHandlers ,并将一个具有一个键“py”的对象作为值,该键将 Python 可执行文件的路径作为值。 例如:
|
3 |
单击“保存”。 |
首先创建一个尚未执行任何数据处理的最小脚本。 此脚本将用于验证您的 Python 设置是否正常运行,以及是否从 UiPath Process Mining 平台调用您的脚本。
此示例脚本说明如何生成将显示在脚本执行日志中的输出,以及脚本的退出代码如何影响 UiPath Process Mining 平台的行为。
步骤 |
操作 |
---|---|
1 |
在您喜欢的编辑器中,启动一个空白文本文件。 |
2 |
输入以下文本:
注意:
debug(“Hello world!”) 命令是如何使用标准错误通道输出消息和调试输出的示例。
|
3 |
将文本文件另存为
script.py 。
|
4 |
将
script.py 文件上传到您的工作区。
|
此脚本仅打印“Hello world!”消息。 脚本界面使用 标准输出 进行从脚本到 UiPath Process Mining 平台的数据通信。 如果要在脚本中包含状态消息,则应将其写入 标准错误 。
接下来,在将调用脚本的应用程序中设置一个数据源表。 从一些虚拟数据开始,因为您的脚本尚未处理数据。 在此阶段,将验证脚本是否按预期执行,即您是否可以看到“Hello world!”消息。
步骤 |
操作 |
---|---|
1 |
在开发环境中打开应用程序。 |
2 |
转到“ 数据 ” 选项卡,然后创建一个新的“连接字符串”表。 |
3 |
将
New_table 重命名为PythonExample 。
|
4 |
右键单击
PythonExample 表格,然后选择 “高级” >“选项…”。
|
5 |
在“ 表格选项 ”对话框中,将“ 表格作用域 ”设置为“ 工作区”。 |
6 |
双击
PythonExample 表格以打开“ 编辑连接字符串表格” 窗口。
|
7 |
输入以下内容作为“ 连接字符串”: ``'driver={mvscript |
8 |
输入以下内容作为 Query: “”
inputData 示例中的“#10”表示换行符。 即 我们定义以下虚拟 CSV 数据:
|
9 |
单击“确定”。 |
10 |
单击“是”。 |
表格刷新失败,您应该会在错误日志中看到“Hello World!”消息
脚本文件的位置由表作用域确定。 这可以设置为“ 服务器 ”或“ 工作区”,或“ 无”。 如果设置为“ 无”,则脚本文件的路径为绝对路径。 如果将其设置为 Server 或 Workspace,则脚本的位置将解释为相对路径。
.CSV
格式导出此表格,以便 Python 脚本可以读取该表格。
在此示例中,我们有一个包含“ 案例 ”表和“ 事件 ”表的应用程序。 请参见下图。
请执行以下步骤:
步骤 |
操作 |
---|---|
1 |
创建一个新的 全局 表
PythonInputData 。
|
2 |
添加新的表达式属性
PythonInputData_Amount 。
|
3 |
将“ 类型 ”设置为“ 查找”。 |
4 |
将 输入 表设置为 Cases_base。 |
5 |
将表达式设置为
listtojson(text(double(records.Amount))) 。
|
6 |
将表达式级别设置为 root。 |
7 |
单击“确定”。 |
8 |
为 Case_ID添加另一个查找表达式属性。 将表达式设置为
listtojson(text(double(records.Case_ID))) 。
|
csvtable()
函数将用于将数据转换为.CSV
格式,该格式需要(文本)记录列表。
listtojson()
函数要求其输入为文本类型,因此生成的 CSV 文件中记录的格式取决于所选属性的类型(在本例中, Amount 的类型为 Currency)和当前活动的显示格式。 此处,货币类型将转换为双精度,以便稍后在 Python 脚本中解析记录。
在文本编辑器中,使用以下代码更新 script.py 文件。
#!/usr/bin/python
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
#!/usr/bin/python
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
请按照以下步骤操作。
步骤 |
操作 |
---|---|
1 |
将新脚本上传到 工作区,覆盖现有文件并返回到应用程序。 |
2 |
右键单击
PythonExample 表格,然后选择 “编辑…”。
|
3 |
修改
PythonExample 表的查询字符串的inputData 参数:
请参见下图。 |
4 |
单击“确定”。 |
5 |
单击“ 是” (2x)。 |
6 |
单击“确定”。 |
PythonExample
表现在具有两个数据源属性,即“ 金额 ”和 “案例 ID”。 请参见下图。
检查“ 金额 ” 属性可以发现,所有金额都已乘以 2。 请参见下图,这是 Python 脚本生成的输出示例。