我正在尝试在 jupyter lab 中使用 python 执行一个简单的 Knime 工作流程,并且还希望通过 python 传递 Knime 工作流程的文件名并在 jupyter lab 上获取输出
我可以使用 knime.Workflow(workflow_path=workflow,workspace_path=workspace) 获取 knime 工作流程。 但似乎 data_table_inputs 和 data_table_outputs 仅适用于训练模型。在我下面的工作流程屏幕截图中,没有训练/容器节点,这是一个非常简单的工作流程,它使用读取器节点获取输入文件并应用一些过滤器并生成统计数据。我想通过从 python 代码传递文件名来执行此工作流程并在 jupyter lab 上生成输出。
import pandas as pd
import matplotlib.pyplot as plt
import knime
knime.executable_path='/Applications/KNIME 5.1.1.app/Contents/MacOS/Knime'
workspace='/knimedir/knime-workspace'
workflow='testworflow'
knime.Workflow(workflow_path=workflow,workspace_path=workspace)
df=pd.read_csv("/knimedir/bankds.csv")
with knime.Workflow(workflow_path=workflow,workspace_path=workspace) as wf:
wf.data_table_inputs[0]=df
wf.execute()
wf.data_table_outputs[0]
虽然您没有展示或给出您尝试过但不起作用的示例,但您可以尝试在 Jupyter Lab 中使用 Python 执行简单的 KNIME 工作流程并传递文件名作为输入。您可以按照以下步骤操作:
准备您的工作流程:确保您的 KNIME 工作流程设置正确并且不需要训练模型。在您的情况下,您有一个简单的工作流程,可以使用读取器节点读取输入文件,应用一些过滤器并生成统计信息。
设置Python环境:确保安装了必要的软件包,包括
pandas
、matplotlib
和knime
。
指定工作流程和工作空间路径:定义 KNIME 工作流程和工作空间的路径。
执行工作流程:使用
knime.Workflow
类执行工作流程,并将输入文件作为 DataFrame 传递。
这是完成此操作的代码的修改版本:
import pandas as pd
import matplotlib.pyplot as plt
import knime
# Set the path to the KNIME executable
knime.executable_path = '/Applications/KNIME 5.1.1.app/Contents/MacOS/Knime'
# Set the workspace path
workspace = '/knimedir/knime-workspace'
# Set the workflow name
workflow = 'testworkflow'
# Read the input CSV file
input_file = "/knimedir/bankds.csv"
df = pd.read_csv(input_file)
# Execute the workflow
with knime.Workflow(workflow_path=workflow, workspace_path=workspace) as wf:
# Set the input data table
wf.data_table_inputs[0] = df
# Execute the workflow
wf.execute()
# Retrieve the output data table
output_df = wf.data_table_outputs[0]
# Display the output data
print(output_df.head())
# Further analysis or visualization with the output data
# For example:
# output_df.plot(kind='bar')
# plt.show()
此代码将使用 Python 执行 KNIME 工作流程,并将输入文件作为 DataFrame 传递。将检索输出数据表,您可以根据需要进一步分析或可视化它。确保根据您的具体设置调整路径和文件名。