我创建了一个虚拟HDF5对象
libray(rhdf5)
handle = h5createFile("rhd5file.h5")
df_A <- data.frame(height = rnorm(20,55,3), index = c(1:20))
df_B <- data.frame(age = rnorm(10,30,5), address = sample(letters,size= 10,replace = TRUE))
h5write(df_A, "rhd5file.h5", "A")
h5write(df_B, "rhd5file.h5", "B")
h5close(handle)
现在,我想只检索对象df_A
和df_B
的列名而不读取整个文件rhd5file.h5
。有可能吗?
我尝试了h5readAttributes()
和h5ls()
,但没有一个显示列名而没有读取整个对象
必需的输出:
A: height, index
B: age, address
答案 0 :(得分:0)
您可以在属性中写入组合名称,然后您可以在不读取整个文件的情况下阅读它们:
library(rhdf5)
handle = h5createFile("rhd5file.h5")
df_A <- data.frame(height = rnorm(20,55,3), index = c(1:20))
df_B <- data.frame(age = rnorm(10,30,5), address = sample(letters,size= 10,replace = TRUE))
h5write(df_A, "rhd5file.h5", "A")
h5write(df_B, "rhd5file.h5", "B")
file=H5Fopen("rhd5file.h5")
did <- H5Dopen(file,"A")
h5writeAttribute(did, attr=names(df_A),name="colnames")
H5Dclose(did)
H5close()
h5readAttributes("rhd5file.h5","A")
希望得到这个帮助。