2017-11-06 19 views
3

juliaには、データセットをロードせずにhdf5ファイルのフィールド(構造、グループ、ディメンションを含む)をリストする方法はありますか? HDF5パッケージにh5ls -r -fと似たものが見つかりませんでした。ありがとう。juliaのhdf5ファイルのリストフィールド

答えて

3

非常にラフな要旨は次の出力を与えるHDF5ファイル構造のマッピングのためのh5_get_structure.jl です:

/Users/TM/Temp/test.h5: HDF5.HDF5File (length 10) 
AcquisitionLog: HDF5.HDF5Group (length 0) 
AddTraces: HDF5.HDF5Group (length 5) 
    PTR-Instrument: HDF5.HDF5Group (length 0) 
    PTR-Misc: HDF5.HDF5Group (length 0) 
    PTR-Reaction: HDF5.HDF5Group (length 0) 
    TOFSupply: HDF5.HDF5Group (length 0) 
    TofSupply: HDF5.HDF5Group (length 2) 
     TwData: HDF5Dataset() 
     TwInfo: HDF5Dataset (28, 2) 
FullSpectra: HDF5.HDF5Group (length 3) 
    MassAxis: HDF5Dataset (100239,) 
    SumSpectrum: HDF5Dataset (100239, 1) 
    TofData: HDF5Dataset (100239, 1, 1, 6000) 
PTR-Concentration: HDF5.HDF5Group (length 0) 
PTR-Peaktable: HDF5.HDF5Group (length 2) 
    Data: HDF5Dataset (317, 8) Float64 
    Info: HDF5Dataset (317,) 
PTR-PrimaryIonSettings: HDF5.HDF5Group (length 0) 
PTR-Transmission: HDF5.HDF5Group (length 0) 
PeakData: HDF5.HDF5Group (length 2) 
    PeakData: HDF5Dataset (317, 1, 1, 6000) 
    PeakTable: HDF5Dataset (4, 317) Float64 
RawData: HDF5.HDF5Group (length 1) 
    HPTDC: HDF5.HDF5Group (length 0) 
TimingData: HDF5.HDF5Group (length 1) 
    BufTimes: HDF5Dataset (6000,) 
+1

これは 'dump'と呼ばれるものでしたが、' Base.dump'を間違ってオーバーロードして削除されました。交換は行われていませんが、役に立つと思われます。 https://github.com/JuliaIO/HDF5.jl/pull/395を参照してください。 – gggg

+0

オリジナルのユーティリティー「h5ls -rf」を上回る利点はあまりないようです。 – slowbrain

+0

@slowbrain多くのおかげで、私は期待した。いずれにしても、h5lsに似たものはHDF5パッケージには実装されていないことに非常に驚いています。 hdf5ライブラリのための非常に不可欠なツールとして私には思われます。 – user3507085

2

あなたの質問は100%ではありませんが、何か情報がありませんprintまたはnamesを使用していますか?

ここで

# make hdf5 file & add two datasets 
A = Vector{Int}(1:10) 
h5write("bar.h5", "foo", A) 
h5write("bar.h5", "2foo", 2A) 

i = h5open("bar.h5", "r") # Open it 
names(i) 
# 2-element Array{String,1}: 
# "2foo" 
# "foo" 
[println(a) for a in i] 
# HDF5 dataset: /2foo (file: bar.h5) 
# HDF5 dataset: /foo (file: bar.h5) 

## Run h5ls 
;h5ls "bar.h5" 
# 2foo      Dataset {10} 
# foo      Dataset {10} 
+0

はこの作品をありがとう。しかし、h5ls -r -fのようなグループやデータセット(dim、maximal dim)を含むHDF5ファイルの完全な構造をリストする、より高度なJulia関数ではありませんか?私は自分の質問を編集しました – user3507085

関連する問題