csv中的一列中有TIME类型数据,又有SECOND类型数据,如何导入

在附件 global_futures.csv 中,第4列的数据如下图红框所示,1001行前是time类型,精确到毫秒,1002行起是second类型,精确到秒:

attachments-2021-05-XA1APvc360948d5603a2c.png

我直接用loadText(f),这列默认为TIME类型,但后面的SECOND数据是空值。

我又用下列代码指定schema为SECOND加载


schemaTB=extractTextSchema(f)
update schemaTB set type =`SECOND where name=`col3
t=loadText(f,,schemaTB)


加载的列数据,后面几行的数据加载了,但前面几行是空值。

请先 登录 后评论

1 个回答

wale

可以先按string读入内存表,然后用rpad给SECOND类型数据加上.000毫秒数,然后用temporalParse转换成TIME类型,示例如下:

schemaTB=extractTextSchema(f)
update schemaTB set type =`STRING where name=`col3
t=loadText(f,,schemaTB)
t.replaceColumn!(`col3,temporalParse(rpad(t.col3,12,".000"),"H:m:s.SSS"))
请先 登录 后评论