从hdf5文件导入数据时如何把整数转换成时间?
我有一个h5文件,运行下面代码,
use hdf5
dataFilePath = "/home/database/v10012/server/comm-ticks-updates1.hdf5"
datasetName = "/A2005/20200506"
schema=hdf5::extractHDF5Schema(dataFilePath,datasetName)
tmpTB = hdf5::loadHDF5(dataFilePath,datasetName)
得到schema如下所示:
数据集tmpTB如下所示:
现在我要h5文件的数据导入下列DolphinDB分布式表:
db1 = database("", VALUE, 2020.01.01..2020.12.31)
db2 = database("", HASH,[SYMBOL,3])
db = database("dfs://future",COMPO, [db1,db2])
colNames=`instrument`tradingday`calendarday`time`lastp`volume`openinterest`turnover`ask1`asksz1`bid1`bidsz1
colTypes=[SYMBOL,DATE,DATE,TIME,DOUBLE,INT,DOUBLE,DOUBLE,DOUBLE,INT,DOUBLE,INT]
t=table(1:0,colNames,colTypes)
transpt=db.createPartitionedTable(t,`tick,`tradingday`instrument)
碰到一个问题就是tradingday、calendarday、time的值如何从整数抓换成DATE和TIME,也即20200506如何转换成2020.05.06,900003376如何转换成9:00:03.376?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
新版本hdf5插件hdf5::loadHDF5Ex函数
提供了一个transform参数,在将数据导入数据库之前,若需要对数据进行预处理,例如转换日期和时间数据类型,填充空值等,可以在hdf5::loadHDF5Ex函数时指定transform参数。tansform参数接受一个函数作为参数,并且要求该函数只能接受一个参数。函数的输入是一个未分区的内存表,输出也是一个未分区的内存表。
tradingday、calendarday、time列可以使用temporalParse函数进行日期和时间类型数据的格式转换。再使用replaceColumn!函数替换表中原有的列。