2016-02-25 3 views
1

Это может быть глупый вопрос, но мне еще нужно найти ответ в документах pandas или в другом месте. Тот же вопрос задан до here. Но единственным ответом было взглянуть на документы pandas, которые, как я сказал, не дают ответа на эту проблему.возвращает список всех наборов данных в hdf-файле с помощью 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) 

возвратов:

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

Однако если закрыть HDF с store.close(), а затем попытаться прочитать его, используя pd.read_hdf() следующие возвраты ошибок:

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

Есть способ вернуть список всех этих наборов данных?

Заранее благодарим за любую помощь!

ответ

3

Да, есть.

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