使用pandas返回hdf文件中所有数据集的列表

时间:2016-02-25 19:47:58

标签: python pandas hdf

这可能是一个愚蠢的问题,但我还没有在熊猫文档或其他地方找到答案。在here之前已经提出了同样的问题。但唯一的答案是看看大熊猫文档,正如我所说的那样,没有提供这个问题的答案。

我希望能够构建包含多个数据集的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)

返回:

<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()读取它,则会返回以下错误:

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

有没有办法返回所有这些数据集的列表?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:9)

是的,有。

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])