MATLAB 帮助中心
(不推荐)将数据写入 HDF5 格式的文件中
不推荐使用 hdf5write。请改用 h5write。
hdf5write
h5write
hdf5write(filename,loc,ds)
hdf5write(filename,details1,ds1,details2,ds2,...details,ds)
hdf5write(filename,details,attr)
hdf5write(___,Name,Value)
hdf5write(filename,loc,ds) 将数据 ds 写入由 filename 指定的 HDF5 文件。如果 filename 不存在,hdf5write 将进行创建。如果 filename 存在,默认情况下,hdf5write 会覆盖文件中的现有数据。可以通过使用可选的名称-值参量将数据追加到现有文件中。
filename
loc
ds
hdf5write(filename,details1,ds1,details2,ds2,...details,ds) 使用一个或多个输入结构体中的值将一个或多个数据集 ds 写入到 filename。
details
hdf5write(filename,details,attr) 使用 details 中的值将元数据 attr 写入到 filename。
attr
hdf5write(___,Name,Value) 支持上述语法中的任何输入参量,且可使用可选的名称-值对组参量。
Name,Value
全部折叠
文件名,指定为包含 HDF5 文件名称的字符向量或字符串标量。
根据您写入的位置,filename 可以采用以下形式之一。
位置
形式
指定 filename 中文件的名称。
示例:'myFile.h5'
'myFile.h5'
其他文件夹
如果该文件不在当前文件夹或 MATLAB® 路径下的文件夹中,则在 filename 中指定完整或相对路径名。
示例:'C:\myFolder\myFile.h5'
'C:\myFolder\myFile.h5'
示例:'myFolder\myFile.h5'
'myFolder\myFile.h5'
文件中的位置,指定为字符向量或字符串标量,包含向其写入数据的数据集或组的完整路径名称。
hdf5write 用于将数据写入 HDF5 文件的输入结构体,指定为一个或多个结构体数组。details 结构体可以包含不同字段,具体取决于您是将数据集还是属性写入文件。
对于数据集,details 可以有以下字段:
Location - 字符向量或字符串标量,其中包含要写入数据的组或数据集的完整路径名称。
Location
Name - 字符向量或字符串标量,其中包含要分配给输入数据集的名称。
Name
对于属性,details 可以有以下字段:
AttachedTo - 结构体数组,其中包含输入属性修改的对象的位置。
AttachedTo
AttachType - 输入属性修改的对象类型,指定为 'group' 或 'dataset'。
AttachType
'group'
'dataset'
Name - 字符向量或字符串标量,其中包含要分配给输入属性的名称。
要写入 HDF5 文件的输入数据,指定为以下一项或多项:
数值数组
字符向量
字符串标量
字符向量元胞数组
字符串数组
数值数据元胞数组
结构体数组
HDF5 对象。
属性名称,指定为包含属于某组或数据集的属性名称的字符向量或字符串标量。
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
Name1=Value1,...,NameN=ValueN
Value
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: 'WriteMode','append' 将数据追加到现有 HDF5 文件中。
'WriteMode','append'
V71Dimensions
false
true
与 MATLAB 7.1 及更早版本的兼容性,指定为包含 'V71Dimensions' 以及 true 或 false 的逗号分隔对组。如果指定 true,则 hdf5write 会置换数据集的前两个维度,使写入文件的数据集的维度顺序与以前版本的 hdf5write(MATLAB 7.1 [R14SP3] 和更早版本)一致。
'V71Dimensions'
'V71Dimensions' 的默认值为 false,它不会更改输出数据维度的顺序。
HDF5 以行优先排序描述数据集维度,MATLAB 以列优先顺序存储数据。但是,置换这些维度可能无法正确反映数据的意图,并且可能会使元数据失效。写入文件的数据正确反映数据集的数据顺序;输出数据集中的每个维度都与对应 MATLAB 变量中的相同维度匹配。
示例: 'V71Dimensions',true
'V71Dimensions',true
WriteMode
写入模式,指定为以逗号分隔的对组,该对组由 'WriteMode' 和一个字符向量或字符串标量组成。将 'WriteMode' 指定为以下值之一:
'WriteMode'
'overwrite'(默认值)- 覆盖文件。
'overwrite'
'append' - 将数据追加到现有 HDF5 文件。
'append'
示例: 'WriteMode','append'
将数据写入名为 myfile.h5、myfile2.h5 和 myfile3.h5 的三个不同 HDF5 文件。
myfile.h5
myfile2.h5
myfile3.h5
将一个由 uint8 值组成的 5×5 数据集写入文件 myfile.h5 的根组。
uint8
hdf5write('myfile.h5','/dataset1',uint8(magic(5)))
将一个由文本条目组成的 2×2 数据集写入文件 myfile2.h5 中的一个子组。
dataset = {'north','south';'east','west'}; hdf5write('myfile2.h5','/group1/dataset1.1',dataset);
将数据集和属性写入 myfile2.h5 中的一个现有组。
dset = single(rand(10,10)); dset_details.Location = '/group1/dataset1.2'; dset_details.Name = 'Random'; attr = 'Some random data'; attr_details.Name = 'Description'; attr_details.AttachedTo = '/group1/dataset1.2/Random'; attr_details.AttachType = 'dataset'; hdf5write('myfile2.h5',dset_details,dset,... attr_details,attr,'WriteMode','append');
使用对象将数据集写入文件 myfile3.h5。
dset = hdf5.h5array(magic(5)); hdf5write('myfile3.h5','/g1/objects',dset);
下表列出了 hdf5write 如何将数据类型从工作区映射到 HDF5 文件。如果工作区中要写入到文件的数据是 MATLAB 数据类型,hdf5write 使用以下规则将 MATLAB 数据映射到 HDF5 数据对象。
MATLAB 数据类型
HDF5 数据集或属性
数值
对应的 HDF5 本机数据类型。例如,如果工作区的数据类型是 uint8,hdf5write 函数将数据以 8 位整数形式写入到文件中。HDF5 数据空间的大小与 MATLAB 数组的大小相同。
字符向量或字符串标量
单个以空值结尾的字符串。
字符向量元胞数组或字符串数组
多个以空值结尾的字符串,每个字符串的长度相同。长度由元胞数组中的最长字符串的长度决定。HDF5 数据空间的大小与元胞数组的大小相同。
数值数组,维度与元胞数组相同。该数组的各个元素的大小和类型都相同。数据类型由元胞数组中的第一个元素决定。
HDF5 复合类型。结构体中的单个字段对单个数据类型使用相同的数据转换规则。例如,字符串元胞数组变成多个以空值结尾的字符串。
HDF5 对象
如果要写入文件中的数据包含 HDF5 对象,hdf5write 会使用相同的数据类型将数据写入文件。对于所有 HDF5 对象(HDF5.h5enum 对象除外),数据空间的维度与传递到该函数的 HDF5 对象数组的维度相同。对于 HDF5.h5enum 对象,HDF5 文件中数据集的大小和维度与对象的数据字段的大小和维度相同。
HDF5.h5enum
在 R2006a 之前推出
h5info | h5read | h5write
h5info
h5read
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处