【问题标题】:Dealing With a Weird delimited data format in Talend or other tool?在 Talend 或其他工具中处理奇怪的分隔数据格式?
【发布时间】:2019-02-21 22:58:12
【问题描述】:

所以我有一个奇怪的分隔格式,我不熟悉它基于聊天相关应用程序的输出,并且格式对我来说很特殊,任何人都可以告诉我这个分隔格式是什么,如果它是标准的并且如果可能的话,任何可能的方法将其转换为带有文本引用的 CSV。

"NumValue1|""TextValue2""|""TextValue3""|""TextValue"""

所以我对这种数据格式的假设是有一行“” 文本限定符是 "" text "" 分隔符是|

另外,以这种格式分隔的价值是什么,与带有文本限定符的 csv 相对应?文本值似乎没有 "

Talend 是我的首选工具,但我愿意使用任何东西来解决这个问题。

【问题讨论】:

    标签: talend csv


    【解决方案1】:

    我认为这是一个嵌套结构。我认为原始数据是一个以管道分隔的引号括起来的 CSV 文件。

    NumValue1|"TextValue2"|"TextValue3"|"TextValue"

    现在他们想用引号括起来,但需要处理原始引号。所以他们加倍了(SQL 中的常用技术)

    我的快速而肮脏的建议是在 talend 中创建一个工作流程: tFileInputfullRow -> tJavaRow -> tFileOutputDelimited(默认情况下 OutputDelimited 是错误的,因此至少在 Talend 5 中它会保持您的线路完好无损)

     row2.line = row1.line.substring(1,row1.line.length()-2).replace("\"\"","\"")
    

    然后你可以用|"做一个tFileInputDelimited

    【讨论】:

    • 我最终使用了与此类似的方法而不是 tJavaRow 我在 tFullrow 之后的 tMap 中放置了一个正则表达式替换,并删除所有双引号,然后替换 |用逗号和标准文本限定符感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多