在继续处理列之前,使用Talend Open Studio DI从唯一的第一行提取值

在继续处理列之前,使用Talend Open Studio DI从唯一的第一行提取值,talend,data-integration,Talend,Data Integration,我有许多excel文件,其中在表格的标题行上方有一行文本(和空行) 处理文件的最佳方式是什么,这样我可以从该行提取文本,并在附加多个文件时将其作为列包含?是否可以不必处理每个文件两次 示例 This file was created on machine A on 01/02/2013 Task|Quantity|ErrorRate 0102|4550|6 per minute 0103|4004|5 per minute 并最终得到来自多个类似文件的数据 Task|Quantity|Er

我有许多excel文件,其中在表格的标题行上方有一行文本(和空行)

处理文件的最佳方式是什么,这样我可以从该行提取文本,并在附加多个文件时将其作为列包含?是否可以不必处理每个文件两次

示例

This file was created on machine A on 01/02/2013

Task|Quantity|ErrorRate

0102|4550|6 per minute
0103|4004|5 per minute
并最终得到来自多个类似文件的数据

Task|Quantity|ErrorRate|Machine|Date
0102|4550|6 per minute|machine A|01/02/2013
0103|4004|5 per minute|machine A|01/02/2013
0467|1264|2 per minute|machine D|02/02/2013

我收集了一个小的,粗糙的样本来说明如何做到这一点。我称之为粗糙,因为a。它不是动态的,您可以添加更多的文件来处理,但您需要在构建作业之前知道有多少个文件,b。它显示了基本概念,但需要更多的工作来满足您的需求。例如,在我的测试文件中,我的第一行只有“MachineA”或“MachineB”。您需要解析这些数据以获得机器名和日期

但下面是may示例的工作原理。每个Excel设置为两个输入。对于标题,将
tFileInput\u Excel
配置为仅读取第一行,而将正文
tFileInput\u Excel
配置为从第4行开始读取

tMap
中,它们被组合(未联接)到输出模式中。这是针对机器A Excel和机器B Excel完成的,然后将这些
tmap
tUnite
组合以获得最终输出

正如您在日志行中所看到的,数据是组合的,并包括标题信息


一个优雅的解决方案,从同一个文件中使用两个输入的想法从未进入我的脑海。是否会有任何问题1)关于文件锁阻塞1个输入或2)在tMap没有及时处理头数据以进行查找(或talend是否处理得很慢),只要您没有写入文件,我相信您在文件锁方面会很好。我的示例运行良好,但只有几行,我建议您尝试根据生产中的行数进行容量测试。这种方法的最大缺点是它不是动态的。你每次都会有固定数量的文件吗?另外,我以前也在文件名中嵌入了元数据,比如机器名(在你的例子中)和日期。然后,您可以从那里获得它,而不必担心读取带有2个输入的文件。