私は、データファイル用に独自の形式を持つROOTを幅広く使用してきましたが、さまざまな理由から、 HDF5ファイルに切り替えたいと考えています。残念ながら、フォーマット間でファイルを変換する何らかの方法が必要です。これを行う既存のライブラリを知っている人はいますか?
質問する
2718 次
3 に答える
4
あなたは、PyTablesを介してROOTファイルをHDF5に変換する機能を備えたrootpyをチェックするかもしれません: http ://www.rootpy.org/commands/root2hdf5.html
于 2012-05-18T20:46:45.000 に答える
2
この問題がまだ気になる場合は、最近、rootpyのroot2hdf5スクリプトとroot_numpyパッケージ(root2hdf5がTTreeをNumPy構造化配列に変換するために使用)に大幅な改善が加えられました。
root2hdf5 -h
usage: root2hdf5 [-h] [-n ENTRIES] [-f] [--ext EXT] [-c {0,1,2,3,4,5,6,7,8,9}]
[-l {zlib,lzo,bzip2,blosc}] [--script SCRIPT] [-q]
files [files ...]
positional arguments:
files
optional arguments:
-h, --help show this help message and exit
-n ENTRIES, --entries ENTRIES
number of entries to read at once (default: 100000.0)
-f, --force overwrite existing output files (default: False)
--ext EXT output file extension (default: h5)
-c {0,1,2,3,4,5,6,7,8,9}, --complevel {0,1,2,3,4,5,6,7,8,9}
compression level (default: 5)
-l {zlib,lzo,bzip2,blosc}, --complib {zlib,lzo,bzip2,blosc}
compression algorithm (default: zlib)
--script SCRIPT Python script containing a function with the same name
that will be called on each tree and must return a tree or
list of trees that will be converted instead of the
original tree (default: None)
-q, --quiet suppress all warnings (default: False)
于 2013-01-19T20:04:35.097 に答える
0
私が最後にチェックしたとき(数か月前)、root2hdf5には、配列であるTBranchesを処理できないという制限がありました。このため、私はbashスクリプトを作成しました:root2hdf(非クリエイティブな名前で申し訳ありません)。
ROOTファイルとファイル内のTTreeへのパスを入力引数として受け取り、ソースコードを生成し、ROOTファイルで実行できる実行可能ファイルにコンパイルして、HDF5データセットに変換します。
また、複合TBranchタイプを処理できないという制限もありますが、root2hdf5も処理できるかどうかはわかりません。
于 2014-02-10T06:30:49.337 に答える