Excel talend中的Null和日期格式处理

Excel talend中的Null和日期格式处理,excel,postgresql,datetime,nullpointerexception,talend,Excel,Postgresql,Datetime,Nullpointerexception,Talend,我有一个带有日期字段的excel,但excel中的第一行是空的,其他几行的日期格式为MM/dd/yyyy HH:MM:ss。 要加载到数据类型为timestampyyyy-mm-dd HH:mm:ss的Postgresql表中的数据。 excel无法修改,因为它是从云端下载的,数据会直接加载到表中。 我尝试使用tConvert类型,但它无法接受时间戳中的null或“”值。我在talend中运行时遇到null tMap错误。即使我试图从字符串格式转换为日期格式以便在tmap中传递null,它也会更

我有一个带有日期字段的excel,但excel中的第一行是空的,其他几行的日期格式为MM/dd/yyyy HH:MM:ss。 要加载到数据类型为timestampyyyy-mm-dd HH:mm:ss的Postgresql表中的数据。 excel无法修改,因为它是从云端下载的,数据会直接加载到表中。
我尝试使用tConvert类型,但它无法接受时间戳中的null或“”值。
我在talend中运行时遇到null tMap错误。即使我试图从字符串格式转换为日期格式以便在tmap中传递null,它也会更改日期格式并显示错误。如何处理

talend结构是:
tFileInputExcel->TMAP(日期字段:MM/dd/yyyy HH:MM:ss)->tConvertType(日期字段:yyyy MM dd HH:MM:ss)->TMAP(yyyy MM dd HH:MM:ss)->Postgresql表

以下是Excel屏幕截图:

您可以在tMAP组件的变量中捕获日期格式或null处理

就是

var :TalendDate.formatDate("yyyy-mm-dd HH:mm:ss",row1.columnname)
因此,数据流将是


tFileInputExcel-->tMAP-->Postgresql表

首先,我不太明白为什么要使用tConvertType组件。定义了正确的模式后,Talend将数据更改为JavaDate对象,从那时起,格式就不重要了,当您想将其放入Postgres表中时,不必将其转换。至少它不应该导致NullPointerException

考虑以下步骤:

样本输入文件

我准备了一些带有日期值/空格/空字符串的文件,我正在描述的解决方案也可以使用空值

配置tFileInputExcel组件

您必须通过选中可为空复选框来允许接受空值。您还应该选中修剪选项

检查输出

将输入组件连接到tLogRow后,将正确处理null/empty/space值

我希望这会有帮助