TalendOpenStuido DI 将 .slx 文件的一列内容替换为 .csv 文件的另一列
TalendOpenStuido DI Replace content of one column of .slx File with another column of .csv file
我有两个输入文件:
- 一个看起来像这样的 .xlsx 文件:
- 一个看起来像这样的 .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 进行查找
- 首先,您需要在例如
tMap
或 tXMLMap
组件,您可以在其中映射键并使用 csv 文件的第二列添加新列
- 生成的列如下所示:
Product; Stock Location Code; CSV 2nd column data
- 现在,在第二张地图中,您只需删除库存位置代码即可完成其余工作。
瞧,你交换了列。
我有两个输入文件:
- 一个看起来像这样的 .xlsx 文件:
- 一个看起来像这样的 .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 进行查找
- 首先,您需要在例如
tMap
或tXMLMap
组件,您可以在其中映射键并使用 csv 文件的第二列添加新列 - 生成的列如下所示:
Product; Stock Location Code; CSV 2nd column data
- 现在,在第二张地图中,您只需删除库存位置代码即可完成其余工作。
瞧,你交换了列。