【发布时间】:2014-08-14 15:17:11
【问题描述】:
我遇到了一个非常棘手的情况,还没有使用 Talend 想出我自己的解决方案。我有一个具有动态列数的输入 csv 文件,需要转置此文件以创建所需的输出文件。输入文件如下所示:
ID1 | Units1 | Count | Val1a | Val2a | Val3a | Val1b | Val2b | Val3b | Val1c | Val2c | Val3c
ID2 | Units2 | Count | Val1d | Val2d | Val3d | Val1e | Val2e | Val3e
如您所见,每排 Val 都是三胞胎,我需要三胞胎保持在一起。 Count 列包含在该行上找到的三元组的数量,因为每一行都是动态的。我需要的最终输出是:
ID1 | Units1 | Val1a | Val2a | Val3a
ID1 | Units1 | Val1b | Val2b | Val3b
ID1 | Units1 | Val1c | Val2c | Val3c
ID2 | Units2 | Val1d | Val2d | Val3d
ID2 | Units2 | Val1e | Val2e | Val3e
我尝试过旋转和取消旋转这些行,但这不允许我将三元组保持在一起。我是否可以通过 Java 脚本发送输入文件,并在其中解析文件并以这种格式输出到 csv 文件?
非常感谢任何帮助。
【问题讨论】:
-
您想使用一个 tJavaFlex 组件,该组件允许您为每个输入行创建一个或多个行输出。
标签: csv talend unpivot dynamic-columns data-mapping