メインコンテンツ

h5writeatt

HDF5 ファイルへの属性の書き込み

説明

h5writeatt(filename,loc,attr,val) は、値 val を含む属性 attr を HDF5 ファイル内の指定された場所に書き込みます。

h5writeatt(filename,loc,attr,val,'TextEncoding',encoding) は指定されたエンコードを使用して attr を HDF5 ファイル内の指定された場所に書き込みます。'UTF-8''TextEncoding' の既定の設定ですが、'system' はシステム エンコードを使用して文字を表します。通常、'system' をエンコードとして指定する必要はありません。

すべて折りたたむ

値が現在の時間である examplefile.h5 のルート グループに属性を書き込みます。

date = datestr(now);
h5writeatt('examplefile.h5','/','creation_date', date);

HDF5 ファイルのルート グループから属性を読み取ります。

val1 = h5readatt('examplefile.h5','/','creation_date')
val1 = 
'09-Aug-2025 11:53:45'

double の配列を作成し、それをデータセット /g4/world に書き込みます。

attData = [0 1 2 3];
h5writeatt('examplefile.h5','/g4/world','val2',attData);

データセットのメタデータを表示します。属性 val2 にはデータセットに属している属性のうちの 1 つがリストされます。

h5disp('examplefile.h5','/g4/world');
HDF5 examplefile.h5 
Dataset 'world' 
    Size:  36x19
    MaxSize:  36x19
    Datatype:   H5T_IEEE_F64LE (double)
    ChunkSize:  []
    Filters:  none
    FillValue:  0.000000
    Attributes:
        'val2':  0.000000 1.000000 2.000000 3.000000 

入力引数

すべて折りたたむ

既存の HDF5 ファイルのファイル名。string スカラーまたは文字ベクトルとして指定します。

ファイルの場所に応じて、filename は次の形式のいずれかをとります。

場所

形式

現在のフォルダー、または MATLAB® パス上のフォルダー

ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにある場合は、filename にファイルの名前を指定します。

例: "myFile.h5"

その他のフォルダー

ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、filename に絶対パスまたは相対パスを指定します。

例: "C:\myFolder\myFile.h5"

例: "myFolder\myFile.h5"

リモートの場所

リモートの場所に保存されたファイルの場合、filename は次の形式の Uniform Resource Locator (URL) として指定されたファイルの絶対パスを含まなければなりません。

scheme_name://path_to_file/filename

リモートの場所に基づいて、scheme_name には次の表の値のいずれかを指定できます。

リモートの場所scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs

詳細については、リモート データの操作を参照してください。

例: "s3://myBucket/myFolder/myFile.h5"

  • ファイルが Family ドライバーを使用して複数の物理ファイルで構成されている場合は、書式指定子を使用して filename を指定します。それらの物理ファイルが現在のフォルダーにない場合は、絶対パスまたは相対パスを使用して指定します。たとえば、現在のフォルダーにある family0.h5family1.h5 の 2 つのファイルを含む Family ドライバーを使用するには、filename"family%d.h5" と指定します。

  • ファイルが Multi ドライバーまたは Split ドライバーを使用して複数の物理ファイルで構成されている場合は、物理ファイルの名前の先頭にある接頭辞を filename として指定します。それらの物理ファイルが現在のフォルダーにない場合は、絶対パスまたは相対パスを使用して指定します。たとえば、現在のフォルダーにある multi-b.h5multi-g.h5multi-l.h5multi-o.h5multi-r.h5、および multi-s.h5 の 6 つのファイルを含む Multi ドライバーを使用するには、filename"multi" と指定します。

ファイル内の位置。属性を関連付ける既存のグループまたはデータセットの絶対パス名が含まれる文字ベクトルまたは string スカラーとして指定します。

属性の名前。グループまたはデータセットに属している属性の名前が含まれる文字ベクトルまたは string スカラーとして指定します。属性が存在しない場合、 h5writeatt は、指定した名前で属性を作成します。

指定した属性が既に存在するが、val とデータ型またはデータ領域が一致しない場合、h5writeatt はその属性を削除し、作成し直します。文字列属性は、単一の 0 次元データ点であるスカラー データ領域で作成されます。

書き込まれる属性の値。文字ベクトル、string スカラー、または数値として指定します。

テキスト エンコード。'TextEncoding' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'UTF-8' — UTF-8 エンコードを使用して文字を表す。

  • 'system' — システム エンコードを使用して文字をバイトとして表す (非推奨)。

制限

  • h5writeatt は、HDFS™ にリモートに保存されているファイルへの書き込みをサポートしません。

  • h5writeatt 関数は、ファイル整合性チェックに失敗した属性およびデータセットに対してエラーを発行します。このような状況で属性を書き込むには、H5P.set_relax_file_integrity_checks 関数と低水準の HDF5 インターフェイスを使用します。 (R2024b 以降)

バージョン履歴

R2011a で導入

すべて展開する