1. ホーム
  2. python

[解決済み] PythonでHDF5ファイルを読み込む方法

2022-11-11 11:48:39

質問

Pythonでhdf5ファイルからデータを読み込もうとしています。hdf5ファイルを読み込むには h5py を使って読むことができますが、ファイル内のデータにアクセスする方法がわかりません。

私のコード

import h5py    
import numpy as np    
f1 = h5py.File(file_name,'r+')    

これは動作し、ファイルは読み込まれます。しかし、どのようにファイルオブジェクトの中のデータにアクセスすることができるのでしょうか? f1 ?

どのように解決するのですか?

HDF5を読む

import h5py
filename = "file.hdf5"

with h5py.File(filename, "r") as f:
    # List all groups
    print("Keys: %s" % f.keys())
    a_group_key = list(f.keys())[0]

    # Get the data
    data = list(f[a_group_key])

HDF5を書き込む

import h5py

# Create random data
import numpy as np
data_matrix = np.random.uniform(-1, 1, size=(10, 3))

# Write data to HDF5
with h5py.File("file.hdf5", "w") as data_file:
    data_file.create_dataset("group_name", data=data_matrix)

参照 h5py docs を参照してください。

代替案

あなたのアプリケーションでは、以下が重要かもしれません。

  • 他のプログラミング言語によるサポート
  • 読み出し/書き込み性能
  • コンパクト性 (ファイルサイズ)

こちらもご覧ください。 データシリアライズ形式の比較

設定ファイルを作成する方法を探しているのであれば、私の短い記事 Pythonでの設定ファイル