在Talend双引号分隔列中导入CSV将被忽略

时间:2017-05-19 01:22:20

标签: csv talend double-quotes

我有一个带有双引号分隔时间戳和电子邮件字段的CSV文件,例如

Timestamp,Email
"2017-01-01 00:00:01",abc@email.com
"2017-01-01 00:02:31",sampleaddress@email2.com

我已经为CSV文件定义了元数据源,并且它能够正确识别和键入两列。但是,当我执行包时,它会将timestamp列视为不存在(通常我收到错误'Unparseable date:“abc@email.com”')

我尝试使用多种设置更改tFileInputDelimited,包括转义和文本框选项,并将时间戳作为日期和字符串导入(如果我将其作为字符串导入,则时间戳字段具有电子邮件地址和电子邮件地址是空白的,但我无法让导入识别出双引号分隔的时间戳列。

我假设我做了一些导致它逃脱整个时间戳值的事情,但我想不出那可能是什么。

3 个答案:

答案 0 :(得分:1)

如果您真的想在输入文件中保留时间戳周围的双引号,请尝试使用此日期模型

"\"yyyy-MM-dd HH:mm:ss\""

这样,您指定在输入字符串中需要双引号(\“)。

答案 1 :(得分:1)

如果您可以更改输入数据,则应为所有字段启用引号,或者不为任何字段启用引号。

如果这不是选项,您也可以使用 tFileInputFullRow 读取文件,删除带有替换字符串的引号,然后使用 tDenormalize 处理数据到列数据中

答案 2 :(得分:1)

如果您使用的是元数据,那么:

  1. 确保组件引用存储库(Component - > Property Type = Repository)
  2. 修改元数据以将文本框字符更改为“\”“