return hdf 文件中所有数据集的列表 pandas

return a list of all datasets in a hdf file with pandas

这可能是一个愚蠢的问题,但我还没有在 pandas 文档或其他地方找到答案。 here之前也有人问过同样的问题。但唯一的答案是查看 pandas 文档,正如我所说,它没有提供这个问题的答案。

我希望能够构建一个包含多个数据集的 hdf 文件。关闭此 hdf 后,我希望能够列出其中包含的每个数据集。例如:

import pandas as pd
import numpy as np

store = pd.HDFStore('test.h5')
df1 = pd.DataFrame(np.random.randn(10,2), columns=list('AB')
df2 = pd.DataFrame(np.random.randn(10,2), columns=list('AB')
store['df1'] = df1
store['df2'] = df2
print(store)

Returns:

<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
/df1           frame          (shape->[10,2])
/df2           frame          (shape->[10,2])

但是,如果您使用 store.close() 关闭 hdf,然后尝试使用 pd.read_hdf() 读取它,则会出现以下错误 returns:

ValueError: key must be provided when HDF contains multiple datasets.

有没有办法return列出所有这些数据集?

在此先感谢您的帮助!

是的,有。

store = pd.HDFStore('test.h5')
print(store)

<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
/df1           frame          (shape->[10,2])
/df2           frame          (shape->[10,2])