TalendOpenStuido DI 将 .slx 文件的一列内容替换为 .csv 文件的另一列

TalendOpenStuido DI Replace content of one column of .slx File with another column of .csv file

我有两个输入文件:

  1. 一个看起来像这样的 .xlsx 文件:

  1. 一个看起来像这样的 .csv 文件:

我已经有一个 talend 作业可以将 .xlsx 文件转换为 .xml 文件。 .xml 文件中的一个节点包含 <stockLocationCode>SL213</stockLocationCode>

输出 .xml 文件如下所示:

现在我需要用 .csv 文件的第二列替换每次出现的 stockLocationCode。在这种情况下,结果将是:

我的 talend 工作是这样的:

我使用 tMap 组件将 .xlsx 文件的列放入输出 xml 文件的右侧节点。

但我不知道如何使用 .csv 文件将 StockLocactionCode 替换为实际的完整库存位置。我厌倦了将 .csv 文件与 tMap 组件映射。

我需要构建一个查看节点当前值的方法 <stockLocationCode> 并遍历整个 .csv 文件,直到它在 .csv 文件的第一列中找到它,然后将 <stockLocationCode> 内容替换为 .csv 文件第二列的内容。

性能并不重要;)

你可以使用 tXMLMap 进行查找

  • 首先,您需要在例如tMaptXMLMap 组件,您可以在其中映射键并使用 csv 文件的第二列添加新列
  • 生成的列如下所示:

Product; Stock Location Code; CSV 2nd column data

  • 现在,在第二张地图中,您只需删除库存位置代码即可完成其余工作。

瞧,你交换了列。