本节用于介绍pm4py中的输出函数,包括日志输出、模型输出、面向对象日志输出等。
1.函数概述
本次主要介绍Pm4py中一些常见的输入函数,总览如下表:
函数名 | 说明 |
write_bpmn() | 用于写入bpmn模型 |
write_dfg() | 用于写入dfg模型 |
write_pnml() | 用于写入petri网模型 |
write_ptml() | 用于写入流程树模型 |
write_xes() | 用于写入xes格式的事件日志 |
write_ocel_csv() | 用于写入以对象为中心的事件日志,格式为.csv |
write_ocel_sqlite() | 用于写入一个OCEL对象的文件到Sql数据库中 |
write_ocel2_xml() | 用于写入一个OCEL2.0对象的文件,格式为.xml |
2.函数方法介绍
2.1 BPMN模型写入
pm4py.write.write_bpmn(model: BPMN, file_path: str, auto_layout: bool = True)
说明:写入一个BPMN模型到本地,以.bpmn格式输入参数:
model (BPMN) – 导出的BPMN 模型;file_path (str) – 导出BPMN模型的文件路径;
auto_layout (bool) –布尔值,指示模型是否应该获得自动布局(写入磁盘)
示例代码:
import pm4py
log = pm4py.write_bpmn(model, '<path_to_export_to>')
2.2 dfg写入
pm4py.write.write_dfg(dfg: Dict[Tuple[str, str], int], start_activities: Dict[str, int],end_activities: Dict[str, int], file_path: str)
说明:写入一个dfg模型到本地,以.dfg格式输入参数:
dfg – 直接跟随活动关系;start_activities – 轨迹开始活动发生次数的多集
end_activities – 轨迹结束活动发生次数的多集
file_path (str) – 导出dfg模型的文件路径
示例代码:
import pm4py
log = pm4py.write_dfg(dfg, sa, ea, '<path_to_export_to>')
2.3 Pnml文件导出
pm4py.write.write_pnml(petri_net: PetriNet, initial_marking: Marking, final_marking: Marking, file_path: str) → None
说明:写入一个petri网模型到本地,以.pnml格式输入参数:
petri_net (PetriNet) – 导出的petri网模型;initial_marking (Marking) –Petri网的初始标记;
final_marking (Marking) – Petri网的结束标记;
file_path (str) – 导出petri网模型的文件路径。
示例代码:
import pm4py
log = pm4py.write_pnml(pn, im, fm, '<path_to_export_to>')
2.4 流程树导出
pm4py.write.write_ptml(tree: ProcessTree, file_path: str) → None[source]
说明:写入一个流程树模型到本地,以.ptml格式输入参数:
tree (ProcessTree) – 导出的流程树模型;file_path (str) –导出流程树模型的文件路径。
示例代码:
import pm4py
log = pm4py.write_ptml(tree, '<path_to_export_to>')
2.5 .xes文件导出
pm4py.write.write_xes(log: EventLog | DataFrame, file_path: str, case_id_key: str = 'case:concept:name', extensions: Collection[XESExtension] | None = None, **kwargs) → None
说明:写入一个事件日志到本地,以.xes格式输入参数:
log – 导出的日志对象(pandas.DataFrame) ;file_path (str) – 导出事件日志的文件路径;
case_id_key (str) – 设置某列为案例id;
extensions – 定义一些日志的扩展属性。
示例代码:
import pm4py
pm4py.write_xes(log, '<path_to_export_to>', case_id_key='case:concept:name')
2.6 写入ocel_csv
pm4py.write.write_ocel_csv(ocel: OCEL, file_path: str, objects_path: str)
说明:以.csv文件格式将OCEL对象写入磁盘。OCEL对象被导出到两个独立的文件中,即一个事件表和一个对象表。应指定两个文件路径输入参数:
ocel (OCEL) – OCEL 对象file_path (str) –将事件表写入的磁盘上的目标文件路径
objects_path (str) – 磁盘上写入对象表的目标文件路径;
示例代码:
import pm4py
log = pm4py.write_ocel_csv(ocel, '<path_to_export_events_to>', '<path_to_export_objects_to>')
2.7 写入ocel_sqlite
pm4py.write.write_ocel_sqlite(ocel: OCEL, file_path: str)
说明:将OCEL对象写入磁盘到SQLite数据库(导出为.SQLite文件)。
输入参数:
ocel (OCEL) – OCEL 对象
file_path (
str
) –SQLite数据库的目标文件路径。
示例代码:
import pm4py
log = pm4py.write_ocel_sqlite(ocel, '<path_to_export_to>')
2.8 写入ocel2_xml
pm4py.write.write_ocel2_xml(ocel: OCEL, file_path: str)
说明:将OCEL2.0对象写入磁盘中的XML文件(导出为.xmlocel文件)。
Parameters:
ocel (OCEL) – OCEL 对象
file_path (
str
) – XML文件的目标文件路径
示例代码:
import pm4py
log = pm4py.write_ocel2_sqlite(ocel, '<path_to_export_to>')
如需了解更多,欢迎加入流程挖掘交流群QQ:671290481.