【问题标题】:Using Talend Open Studio DI to extract extract value from unique 1st row before continuing to process columns使用 Talend Open Studio DI 从唯一的第一行提取提取值,然后继续处理列
【发布时间】:2017-03-29 14:55:36
【问题描述】:

我有许多 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

【问题讨论】:

    标签: talend data-integration


    【解决方案1】:

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

    但这就是样本的工作方式。每个 Excel 设置为两个输入。对于标题,tFileInput_Excel 配置为仅读取第一行,而正文 tFileInput_Excel 配置为从第 4 行开始读取。

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

    正如您在日志行中看到的那样,数据被合并并包含标题信息。

    【讨论】:

    • 一个优雅的解决方案,使用来自同一个文件的 2 个输入的想法从未进入我的脑海。是否存在任何问题 1)关于文件锁阻塞 1 个输入或 2)在 tMap 没有及时处理标题数据以进行查找(或者 talend 是否无缝处理)
    • 只要您不写入文件,我相信您在文件锁定方面会没事的。我的示例运行良好,但只有几行,我建议您根据生产中的行数尝试批量测试。这种方法的最大缺点是它不是动态的。每次都会有固定数量的文件进入吗?
    • 另外,我过去曾将机器名称(在您的情况下)和嵌入文件名中的日期等元数据。然后您可以从那里获取它,而不必担心使用 2 个输入读取文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2018-03-30
    • 2018-06-03
    • 2022-01-15
    相关资源
    最近更新 更多