在 jupyter lab 中使用 python 执行 KNIME 工作流程

问题描述 投票:0回答:1

我正在尝试在 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]

testworflow

python jupyter-notebook data-analysis knime exploratory-data-analysis
1个回答
0
投票

虽然您没有展示或给出您尝试过但不起作用的示例,但您可以尝试在 Jupyter Lab 中使用 Python 执行简单的 KNIME 工作流程并传递文件名作为输入。您可以按照以下步骤操作:

  1. 准备您的工作流程:确保您的 KNIME 工作流程设置正确并且不需要训练模型。在您的情况下,您有一个简单的工作流程,可以使用读取器节点读取输入文件,应用一些过滤器并生成统计信息。

  2. 设置Python环境:确保安装了必要的软件包,包括

    pandas
    matplotlib
    knime

  3. 指定工作流程和工作空间路径:定义 KNIME 工作流程和工作空间的路径。

  4. 执行工作流程:使用

    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 传递。将检索输出数据表,您可以根据需要进一步分析或可视化它。确保根据您的具体设置调整路径和文件名。

© www.soinside.com 2019 - 2024. All rights reserved.