You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache NiFi中借助Python pandas实现CSV转Excel并调用虚拟环境?

NiFi CSV转Excel及Python虚拟环境使用解决方案

1. CSV原始数据转Excel实现方法

1.1 使用ExecuteStreamCommand处理器实现

  • 提前准备转换脚本,需在运行环境安装pandas、openpyxl依赖,脚本示例如下:
import sys
import pandas as pd

if __name__ == "__main__":
    # 读取NiFi传入的CSV流数据
    csv_df = pd.read_csv(sys.stdin)
    # 将Excel二进制流输出供NiFi接收
    csv_df.to_excel(sys.stdout.buffer, index=False, engine="openpyxl")
  • 处理器配置参数:
    • Command Path:填写Python解释器的绝对路径
    • Command Arguments:填写上述转换脚本的绝对路径,例如/data/nifi/scripts/csv2excel.py
    • 开启Capture Standard Out、Capture Standard Err配置项
  • 处理完成后,可通过UpdateAttribute处理器将流文件后缀修改为.xlsx即可得到可用的Excel文件

1.2 使用ExecuteScript处理器实现

  • 选择Script Engine为python
  • 在Script Body中直接编写转换逻辑,需引入NiFi流操作API读取、写入流文件内容
  • 注意:该方案需要NiFi调用的Python环境中已提前安装好转换所需的所有依赖

2. Python虚拟环境依赖调用方法

  • 无需提前激活虚拟环境,直接调用虚拟环境内的Python解释器绝对路径即可自动加载对应依赖:
    • Linux/Mac环境路径示例:/你的项目根目录/env/bin/python
    • Windows环境路径示例:C:\你的项目根目录\env\Scripts\python.exe
  • 测试方法:直接在终端执行虚拟环境Python绝对路径 脚本绝对路径即可验证依赖加载是否正常,例如/data/project/env/bin/python /data/project/test.py
  • 对应到NiFi场景,直接将ExecuteStreamCommand的Command Path配置为上述虚拟环境的Python绝对路径即可,所有在该虚拟环境中通过pip install安装的依赖都可正常被调用

内容的提问来源于stack exchange,提问作者Sairungrawee Navamachiti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:27:04