我嘗試訪問 matlab 文件 (*.mat) 的以下結(jié)構(gòu):父matlab結(jié)構(gòu)其中包含以下一組結(jié)構(gòu)嵌套結(jié)構(gòu)我嘗試使用hd5f?python lib訪問每個結(jié)構(gòu)內(nèi)的字段使用以下代碼:mat_dict?=?h5py.File(file_path,?'r')
result?=?mat_dict['JKPRR']['results']['ChangingKnob'][0]['result']但顯然我無法深入:result?=?mat_dict['JKPRR']['results']['ChangingKnob'][0]有人知道我怎樣才能進入更深的領域嗎?
1 回答

qq_花開花謝_0
TA貢獻1835條經(jīng)驗 獲得超7個贊
首先,簡單一點:ChangingKnob 數(shù)據(jù)集看起來是二維的,因此要獲取一項,您需要兩個索引:
mat_dict['JKPRR']['results']['ChangingKnob'][0,?0]
這是等效的,但更容易閱讀:
mat_dict['JKPRR/results/ChangingKnob'][0,?0]
看起來 Matlab 在數(shù)據(jù)集中存儲了 HDF5 引用(一種鏈接),因此您需要遵循該引用:
>?ref?=?mat_dict['JKPRR/results/ChangingKnob'][0,?0]?dataset?= >?mat_dict[ref]
希望之后你可以使用 dataset['result'] 來訪問一個字段,除非 Matlab 制造了更多障礙。
添加回答
舉報
0/150
提交
取消