【问题标题】:Importing CSV file with specific delimiters in Talend在 Talend 中导入具有特定分隔符的 CSV 文件
【发布时间】:2013-01-09 06:51:19
【问题描述】:

我有一个 CSV 文件,其中包含我想用 Talend 解析的异常分隔符。通常,当我们有一个带有“回车”字符作为行分隔符的 CSV 时,我使用“\n”。当它是 TAB 分隔文件时,我使用“\t”等。但是现在我有一个文件,其中包含一些不寻常的字符。维基百科告诉我它是所谓的“控制字符”。我的问题是如何在 Talend 的 tFileDelimitedInput-component 中提及这些字符(参见屏幕截图 2)。我必须使用 STX 控制字符而不是换行符 (\n),但我如何告诉 Talend 这是哪个字符? “\n”首先是什么符号?

文件示例:

https://dl.dropbox.com/u/1757832/talendSeparators1.jpg

Talend 中的 tFileDelimitedInput 组件,我必须在其中输入行分隔符和字段分隔符。

https://dl.dropbox.com/u/1757832/talendSeparators2.jpg

【问题讨论】:

    标签: file talend csv


    【解决方案1】:

    您是否尝试为该文件创建 tFileDelimitedInputmetadata ?

    这样做,您有更多选择(见附图)。

    编辑:

    这是UTF-8对应的控制字符代码列表:

    SOH:标题开始:http://www.fileformat.info/info/unicode/char/0001/index.htm STX:文本开头:http://www.fileformat.info/info/unicode/char/0002/index.htm

    您是否也尝试过使用那些 utf-8 代码?

    EDIT 2 带解决方案:

    这是一个带有 STX 字段分隔符的文件

    我定义了一个简单的tFileInputDelimited 架构,其中包含两列(键和值都是字符串)。

    那么,我设置了:

    1. 行分隔符为"\n"
    2. 字段分隔符为new String("\u0002")

    那么,我的行为是正确的:

    .----+------.
    | tLogRow_1 |
    |=---+-----=|
    |key |value |
    |=---+-----=|
    |key1|value1|
    |key2|value2|
    '----+------'
    

    【讨论】:

    • 很抱歉我的反应迟了,但很遗憾,我无法将这些字符作为“字段分隔符”或“行分隔符”添加到 Talend。 Talend 给我错误:无效的转义序列(有效的是 \b \t \n \f \r \" \' \\ )
    • 你成就了我的一天!奇迹般有效!请参阅:link
    • 太棒了。如果内容对您有帮助,请不要忘记接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多