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

如何在Pentaho中将带日期命名的多CSV批量转为同名独立TXT文件?

批量将带日期命名的CSV文件转成同名TXT文件(Pentaho实现方案)

核心逻辑

通过**作业(Job)控制批量遍历CSV文件,用转换(Transformation)**处理单个文件的格式转换,借助变量传递确保每个CSV生成独立的同名TXT文件。

分步实现

1. 搭建作业框架

新建一个Job,添加以下组件并按顺序连接:

  • Start:作业起始节点
  • 获取文件列表(Get File Names):遍历目标文件夹下的所有CSV文件
  • 转换(Transformation):执行单个文件的CSV转TXT操作
  • Success:作业成功结束节点

「获取文件列表」组件配置

  • 源文件夹:选择存放CSV文件的目录
  • 文件掩码:输入*.csv(仅匹配CSV文件)
  • 字段设置:勾选输出以下字段(后续转换要用):
    • filename_full:完整文件路径(如C:/data/03-16-2024_shopping.csv)
    • filename_no_ext:不带扩展名的文件名(如03-16-2024_shopping)
  • 勾选「将结果添加到结果集」,并设置触发方式为“每一行触发”(确保每个文件单独触发转换)

2. 搭建转换逻辑

新建一个Transformation,添加以下组件:

  • 文本文件输入(Text File Input):读取单个CSV文件
  • 文本文件输出(Text File Output):生成同名TXT文件

「文本文件输入」配置

  • 文件/目录:输入变量${filename_full}(承接作业传递的当前CSV文件路径)
  • 格式设置:根据你的CSV实际情况配置分隔符、引号规则、编码等(比如逗号分隔、双引号包裹)

「文本文件输出」配置

  • 文件/目录:输入${源文件夹路径}/${filename_no_ext}.txt(替换${源文件夹路径}为你的实际目录,或用变量传递)
  • 格式设置:选择“文本文件”,分隔符可保持和CSV一致(或按需调整),取消“包含文件名”等多余选项,确保输出内容和原CSV一致,仅扩展名改为TXT

3. 变量传递配置

在作业中,选中「转换」组件,进入「参数」设置:

  • 添加参数filename_full,值为${filename_full}(从作业结果集传递)
  • 添加参数filename_no_ext,值为${filename_no_ext}
  • 确保转换内部的输入输出组件正确引用这些参数

操作示意图

作业结构(Mermaid 流程图)

flowchart LR
    A[Start] --> B[获取文件列表<br/>(Get File Names)]
    B -->|每一行触发| C[转换:CSV转TXT]
    C --> D[Success]

转换内部结构(Mermaid 流程图)

flowchart LR
    X[文本文件输入<br/>(Text File Input)] --> Y[文本文件输出<br/>(Text File Output)]

注意事项

  • 必须勾选「获取文件列表」的「每一行触发」,否则会将所有CSV合并成一个TXT文件
  • 变量名称要严格对应,避免拼写错误导致路径无效
  • 测试时先用少量CSV文件验证,确保输出TXT的文件名和内容正确

内容的提问来源于stack exchange,提问作者victor viera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:43:30