<p>部分问题可能是您使用<code>ncdump</code>。在</p>
<p>我可以创建一个简单的文件,并为数据集设置<code>dims</code>标签:</p>
<pre><code>In [420]: import h5py
In [421]: f = h5py.File('testdim.h5','w')
In [422]: ds = f.create_dataset('grp1/varname', data = np.arange(10))
In [423]: ds
Out[423]: <HDF5 dataset "varname": shape (10,), type "<i8">
</code></pre>
<p>查看<code>dims</code>属性:</p>
^{pr2}$
<p>组没有<code>dims</code>:</p>
<pre><code>In [442]: g = f['grp1']
In [443]: g
Out[443]: <HDF5 group "/grp1" (1 members)>
In [444]: g.dims
AttributeError: 'Group' object has no attribute 'dims'
In [446]: f.flush()
</code></pre>
<p>使用<code>h5dump</code>:</p>
<pre><code>1902:~/mypy$ h5dump testdim.h5
HDF5 "testdim.h5" {
GROUP "/" {
GROUP "grp1" {
DATASET "varname" {
DATATYPE H5T_STD_I64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
DATA {
(0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}
ATTRIBUTE "DIMENSION_LABELS" {
DATATYPE H5T_STRING {
STRSIZE H5T_VARIABLE;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 1 ) / ( 1 ) }
DATA {
(0): "m"
}
}
}
}
}
}
</code></pre>
<p>使用旨在显示<code>ncdump</code>文件的<code>ncdump</code>:</p>
<pre><code>1902:~/mypy$ ncdump -h testdim.h5
netcdf testdim {
group: grp1 {
dimensions:
phony_dim_0 = 10 ;
variables:
int64 varname(phony_dim_0) ;
string varname:DIMENSION_LABELS = "m" ;
} // group grp1
}
</code></pre>
<p>我尽可能地,<code>h5df</code>格式没有组维度;<code>ncdump</code>为此创建了一个伪属性。在</p>
<p>为了重申对上一个问题的答案,HDF5尺寸的文档是:</p>
<p><a href="http://docs.h5py.org/en/latest/high/dims.html" rel="nofollow noreferrer">http://docs.h5py.org/en/latest/high/dims.html</a></p>
<p><a href="https://www.unidata.ucar.edu/software/netcdf/docs/interoperability_hdf5.html" rel="nofollow noreferrer">https://www.unidata.ucar.edu/software/netcdf/docs/interoperability_hdf5.html</a></p>
<p>对于HDF5文件</p>
<blockquote>
<p>If dimension scales are not used, then netCDF-4 can still edit the file, and will invent anonymous dimensions for each variable shape.</p>
</blockquote>
<p>NETCDF具有共享维度,HDF5具有维度刻度。他们不太一样。在</p>
<p><a href="http://www.stcorp.nl/beat/documentation/harp/conventions/hdf5.html" rel="nofollow noreferrer">http://www.stcorp.nl/beat/documentation/harp/conventions/hdf5.html</a></p>
<blockquote>
<p>In the HDF5 data model there is no concept of shared dimensions (unlike netCDF). The shape of an HDF5 dataset is specified as a list of dimension lengths. However, the netCDF-4 library uses HDF5 as its storage backend. It represents shared dimensions using HDF5 dimension scales.</p>
</blockquote>