尝试读取存储在 Julia 中的 HDF5 存储中的表作为数据框
Posted
技术标签:
【中文标题】尝试读取存储在 Julia 中的 HDF5 存储中的表作为数据框【英文标题】:Trying to read in tables stored in HDF5 stores in Julia as a Dataframe 【发布时间】:2017-07-27 23:50:56 【问题描述】:我试图读入存储在 HDF5 存储中的表,并将其作为 Julia 中的数据帧读入。在 Julia 中使用 HDF5 包时,我发现一些文档令人困惑,我一直想知道是否有类似 pandas 的东西:
table_data = pd.read_hdf('filepath', key='group')
我的代码是这样的:
using HDF5
file_input = "filepath/file.h5"
fileop = "r"
table_name = "group"
h5_store = h5read(file_input, fileop)
table_data = read(h5_store, table_name)
close(h5_store)
我一直想知道是不是我做错了什么,并希望得到任何有关这方面的指导
【问题讨论】:
【参考方案1】:使用h5open
而不是h5read
来修复您的代码:
h5_store = h5open(file_input, fileop)
但是您可以使用h5read
,默认情况下使用对 hdf5 文件的只读访问权限:
using HDF5
file_input = "filepath/file.h5"
table_name = "table"
table_data = h5read(file_input, table_name)
【讨论】:
嘿,再次感谢,但即使语法正确,我也会收到“尚不支持”的错误消息。我可能应该注意到 h5 存储中的表是 pytables。提取存储在 Julia 的 h5 存储中的 pytable 对象是否存在兼容性问题? 如果 pytable 包含可变长度数据类型,您将收到错误消息。 HDF5.jl (0.7.3) 的标记版本会检查 HDF5Dataset 中的字符串,如果找到,则会引发“尚未支持”错误。 尝试检查主版本Pkg.checkout("HDF5")
并试一试...以上是关于尝试读取存储在 Julia 中的 HDF5 存储中的表作为数据框的主要内容,如果未能解决你的问题,请参考以下文章
读取存储在 HDF5 中的部分数据集 - python 2.7