在 Talend 双引号分隔列中导入 CSV 被忽略
Importing CSV in Talend double quote delimited column is ignored
我有一个包含双引号分隔时间戳和电子邮件字段的 CSV 文件,例如
Timestamp,Email
"2017-01-01 00:00:01",abc@email.com
"2017-01-01 00:02:31",sampleaddress@email2.com
我已经为 CSV 文件定义了一个元数据源,它能够正确识别和键入两列。但是,当我执行包时,它会将时间戳列视为不存在(通常我会收到错误 'Unparseable date: "abc@email.com"')
我已尝试使用多种设置更改 tFileInputDelimited,包括转义和文本封闭选项以及将时间戳作为日期和字符串导入(如果我将其作为字符串导入,时间戳字段包含电子邮件地址并且电子邮件地址为空),但我无法让导入识别双引号分隔时间戳列的存在。
我假设我做了一些导致它转义整个时间戳值的事情,但我想不出那可能是什么。
如果您真的想在输入文件中的时间戳周围保留双引号,试试这个日期模型
"\"yyyy-MM-dd HH:mm:ss\""
这样,您指定在输入字符串中需要双引号 (\")。
如果您可以更改输入数据,则应该为所有字段或 none 启用引号。
如果没有选择,您还可以使用 tFileInputFullRow 读取文件,使用字符串替换删除引号,然后使用 tDenormalize 处理数据 进入列数据。
如果您使用元数据,则:
- 确保组件引用存储库(组件 -> 属性 类型 = 存储库)
- 修改元数据,将文本包围字符更改为“\”
我有一个包含双引号分隔时间戳和电子邮件字段的 CSV 文件,例如
Timestamp,Email
"2017-01-01 00:00:01",abc@email.com
"2017-01-01 00:02:31",sampleaddress@email2.com
我已经为 CSV 文件定义了一个元数据源,它能够正确识别和键入两列。但是,当我执行包时,它会将时间戳列视为不存在(通常我会收到错误 'Unparseable date: "abc@email.com"')
我已尝试使用多种设置更改 tFileInputDelimited,包括转义和文本封闭选项以及将时间戳作为日期和字符串导入(如果我将其作为字符串导入,时间戳字段包含电子邮件地址并且电子邮件地址为空),但我无法让导入识别双引号分隔时间戳列的存在。
我假设我做了一些导致它转义整个时间戳值的事情,但我想不出那可能是什么。
如果您真的想在输入文件中的时间戳周围保留双引号,试试这个日期模型
"\"yyyy-MM-dd HH:mm:ss\""
这样,您指定在输入字符串中需要双引号 (\")。
如果您可以更改输入数据,则应该为所有字段或 none 启用引号。
如果没有选择,您还可以使用 tFileInputFullRow 读取文件,使用字符串替换删除引号,然后使用 tDenormalize 处理数据 进入列数据。
如果您使用元数据,则:
- 确保组件引用存储库(组件 -> 属性 类型 = 存储库)
- 修改元数据,将文本包围字符更改为“\”