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

Oracle Integration Cloud中CSV交替表头行的跳过方案(FTP与ATP集成)

在OIC Generation 3中处理交替表头的CSV文件

问题1:用JavaScript跳过交替表头行的实现方法

详细操作步骤

  1. 在现有工作流的「Stage File Action」之后,添加一个「Execute JavaScript」动作。
  2. 将JavaScript动作的输入源设置为Stage File读取返回的全量行数据,对应变量通常是 $stageFile.readResult.lines。
  3. 复制以下代码片段到JavaScript编辑器中,代码会自动过滤掉奇数行(对应原文件的第1、3、5...表头行):
// 获取输入的所有行数据
var lines = data.input.lines;
var validDataLines = [];

// 遍历行,仅保留偶数行(索引从0开始,i%2!==0对应原文件第2、4、6...数据行)
for(var i = 0; i < lines.length; i++){
    if(i % 2 !== 0){
        validDataLines.push(lines[i]);
    }
    // 可选:如果表头内容可能变动,改用内容判断替代行号判断
    // if(lines[i].indexOf("id;name;age") === -1){
    //     validDataLines.push(lines[i]);
    // }
}

// 返回过滤后的有效数据行
return { "validLines": validDataLines };
  1. 后续可以将输出的validLines转换为结构化数据,再传递给ATP适配器做批量插入。

问题2:Stage File或内置组件的更优处理方案

直接用Stage File Action的内置过滤功能,无需额外编写脚本,步骤如下:

  1. 打开「Stage File Action」的配置界面,找到「Filter Criteria」(过滤条件)配置项。
  2. 选择「Expression」模式,输入以下任意一种过滤表达式:
    • 按行号过滤(推荐,表头固定重复场景):position() mod 2 = 0
      (注:OIC中position()从1开始计数,该表达式会保留第2、4、6...行)
    • 按内容过滤(适配表头可能有小变动的场景):not(contains(., 'id;name;age'))
  3. 保存配置后,Stage File Action会直接返回过滤后的有效数据行,后续可直接映射到ATP表字段。

批量导入ATP的后续流程

不管用哪种方案,过滤后的数据都可以通过以下步骤批量写入ATP:

  • 添加「Map动作」,将每行的分号分隔数据映射为ATP目标表的字段结构。
  • 配置「ATP Adapter」的批量插入操作,将映射后的数据集批量导入数据库。

额外提示

  • 50条记录的规模下,两种方案性能无差异,按需选择即可。
  • 如果表头存在大小写、空格差异,优先用行号判断的方式更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 20:21:11