2

h5py モジュールを使用して hdf5 ファイルを作成する小さな python プログラムがあります。hdf5 ファイルのデータを処理する Python モジュールを作成したいと考えています。どうすればそれができますか?

より具体的には、numpy 配列を PyArrayObject に設定し、PyArg_ParseTuple を使用して読み取ることができます。このようにして、Python モジュールを作成しているときに、numpy 配列から要素を読み取ることができます。個々の要素にアクセスできるように hdf5 ファイルを読み取る方法は?

更新: 以下の回答に感謝します。Python からではなく、C から hdf5 ファイルを読み取る必要があります。その方法はわかっています。例えば:

import h5py as t
import numpy as np
f=t.File('\tmp\tmp.h5', 'w')
#this file is 2+GB
ofmat=np.load('offsetmatrix.npy')
f['FileDataset']=ofmat
f.close()

これで、「\tmp\tmp.h5」という hdf5 ファイルができました。私がする必要があるのは、(python ではなく) C を使用して hdf5 ファイルから個々の配列要素を読み取って、それらの要素で何かを行うことができるようにすることです。これは、numpy 配列を拡張する方法を示しています。hdf5を拡張するには?

編集:文法

4

2 に答える 2

2

h5py は、hdf5 ファイルに格納されたデータの読み取り/書き込みおよび操作のための直接的なインターフェイスを提供します。ドキュメントを見ましたか?

http://docs.h5py.org/

これらから始めることをお勧めします。これらには、単純なデータアクセスを行う方法の非常に明確な例があります。h5py のメソッドでカバーされていない特定のことを行おうとしている場合は、ご希望の使用方法をより具体的に説明していただけますか?

于 2011-03-22T19:41:42.370 に答える
1

実際にHDF5の特定の構造は必要ないが、速度とクロスプラットフォームの互換性が必要な場合は、PyTablesを確認することをお勧めします。Numpy配列を読み書きする機能が組み込まれています。

于 2011-03-22T20:02:05.027 に答える