2016-02-23 55 views
2

閱讀從HDF5數據集字符串我有一個HDF5文件,h5dump S作爲如下(省略不相關的內容)如何使用h5py

HDF5 "file.h5" { 
GROUP "/" { 
    DATASET "history" { 
    DATATYPE H5T_STRING { 
     STRSIZE H5T_VARIABLE; 
     STRPAD H5T_STR_NULLTERM; 
     CSET H5T_CSET_ASCII; 
     CTYPE H5T_C_S1; 
    } 
    DATASPACE SIMPLE { (1)/(H5S_UNLIMITED) } 
    DATA { 
    (0): "some string" 
    } 
    } 
} 

和我使用h5py試圖從蟒蛇(3.5)來讀取。我嘗試到目前爲止

import h5py 
F = h5py.File('file.h5', "r") 
H = list() 
for x in F['history']: 
    H.append(str(x)) 

for x in H: 
    print(x) 

產生

b'some string' 

,而不是簡單地

some string 

我怎樣才能提取純數據串?我需要做什麼而不是str(x)

P.S.這是我的第一個蟒蛇問題,請耐心等待。

回答

2

只需使用

H = [x.decode() for x in F['history']] 

這個列表解析會返回H作爲字符串列表。

+0

差不多。我其實希望'H'包含字符串。 – Walter

+0

@Walter:我希望現在滿足您的要求? – corinna