如何使用熊猫访问HDF5中的嵌套表

时间:2019-08-02 13:57:24

标签: pandas hdf5

我想使用熊猫从HDF5文件中检索表。

在找到一些参考之后,我尝试使用以下方法打开文件:

df = pd.read_hdf('data/test.h5', g_name), 

其中g_name是我要检索的对象的路径,即表TAB1,例如MAIN / Basic / Tables / TAB1。

g_name的检索方法如下:

def get_all(name):
    if 'TAB1' in name:
        return name

with h5py.File('data/test.h5') as f:
    g_name = f.visit(get_all)
    print(g_name)
    group = f[g_name]
    print(type(group))

我也尝试过检索对象本身,如上面的代码片段所示,但是对象类型是 我如何将其转换为可以在熊猫中读取为数据框的内容?

在第一种情况下,出现以下错误: “如果对象不存在,则无法创建存储器”

如果路径与搜索过程中检索到的路径相同,我不明白为什么它找不到对象。

1 个答案:

答案 0 :(得分:0)

我找到了以下解决方案:

hf = h5py.File('data/test.h5')
data = hf.get('MAIN/Basic/Tables/TAB1')
result = data[()]

# This last step just converts the table into a pandas df
df = pd.DataFrame(result)