Main Content

h5writeatt

写入 HDF5 属性

说明

示例

h5writeatt(filename,loc,attr,val) 将名为 attr 且值为 val 的属性写入 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 = 
'27-Aug-2022 00:12:21'

创建一个双精度数组,并将其写入数据集 /g4/world

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

显示数据集元数据。列出的属性 val2 是属于数据集的属性之一。

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 文件名称的字符向量或字符串标量。

根据您写入的位置,filename 可以采用以下形式之一。

位置

形式

当前文件夹

要写入当前文件夹,请在 filename 中指定文件名。

示例:'myFile.h5'

其他文件夹

要写入不同于当前文件夹的文件夹,请在 filename 中指定完整或相对路径名称。

示例:'C:\myFolder\myFile.h5'

示例:'myFolder\myFile.h5'

远程位置

要写入远程位置,filename 必须包含指定为统一资源定位器 (URL) 形式的文件的完整路径:

scheme_name://path_to_file/my_file.ext

根据您的远程位置,scheme_name 可以是下表中的值之一。

远程位置scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs

有关详细信息,请参阅处理远程数据

示例:'s3://bucketname/path_to_file/myFile.h5'

文件中的位置,指定为字符向量或字符串标量,其中包含要与该属性关联的现有组或数据集的完整路径名称。

属性的名称,指定为包含属于某组或数据集的属性名称的字符向量或字符串标量。如果该属性不存在,h5writeatt 使用指定的名称创建该属性。

如果指定的属性已存在但不具有与 val 一致的数据类型或数据空间,则 h5writeatt 将删除该属性并重新创建它。字符串属性是使用一个标量数据空间创建的,标量数据空间是单一的零维数据点。

要写入的属性的值,指定为字符向量、字符串标量或数值。

文本编码,指定为以逗号分隔的对组,其中包含 'TextEncoding' 和下列值之一:

  • 'UTF-8' - 使用 UTF-8 编码表示字符。

  • 'system' - 使用系统编码将字符表示为字节(不推荐)。

局限性

  • h5writeatt 不支持在 HDFS™ 远程位置写入文件。

版本历史记录

在 R2011a 中推出

全部展开