我想使用熊猫从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))
我也尝试过检索对象本身,如上面的代码片段所示,但是对象类型是 我如何将其转换为可以在熊猫中读取为数据框的内容?
在第一种情况下,出现以下错误: “如果对象不存在,则无法创建存储器”
如果路径与搜索过程中检索到的路径相同,我不明白为什么它找不到对象。
答案 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)