首页 > 解决方案 > 将 R data.table 对象写入 hdf5 文件

问题描述

我有 R data.table,我尝试使用 rhdf5 包将其写为 h5 文件。这给了我一个警告h5writeAttribute.default(Attr[[i]], h5obj, name = names(Attr)[i]) : No function found to write attribute of class 'externalptr'. Attribute '.internal.selfref' is not written to hdf5-file. 当我阅读文件时,我发现很多列都不存在。具体来说,list()缺少类型的列。无论我使用write.attributes=TRUE还是write.attributes=FALSEh5write功能中,我都会得到相同的结果。有什么建议么?可重现的例子:

library(rhdf5)
library(data.table)

tmp <- data.table(character = "Name", 
              logical = "FALSE",
              list = list(tmp = c("a", "b")),
              logical2 = "TRUE"
)
h5write(tmp, "tmp.h5", "test",write.attributes=TRUE)
h5closeAll()
tmpRead = h5read(file="tmp.h5","test")
h5closeAll()

tmp
character logical list logical2
1   Name    FALSE   c("a", "b") TRUE

tmpRead
character logical logical2
1   Name    FALSE   TRUE

标签: rdata.tablerhdf5

解决方案


推荐阅读