Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据集的h5py顺序(按数据集名称)_Python_Hdf5_H5py - Fatal编程技术网

Python 数据集的h5py顺序(按数据集名称)

Python 数据集的h5py顺序(按数据集名称),python,hdf5,h5py,Python,Hdf5,H5py,我正在创建一个h5文件,其中包含5个数据集['a160'],['a1214'] 如何使数据集按数据集名称排序 例如,当我在我的文件上转储时,我得到: HDF5 "jjjj.h5" { GROUP "/" { DATASET "a1214" { DATATYPE H5T_IEEE_F32BE DATASPACE SIMPLE { ( 1, 19 ) / ( H5S_UNLIMITED, 19 ) } DATA { (0,0): 160, 0

我正在创建一个h5文件,其中包含5个数据集['a160'],['a1214']

如何使数据集按数据集名称排序

例如,当我在我的文件上转储时,我得到:

HDF5 "jjjj.h5" {
GROUP "/" {
   DATASET "a1214" {
      DATATYPE  H5T_IEEE_F32BE
      DATASPACE  SIMPLE { ( 1, 19 ) / ( H5S_UNLIMITED, 19 ) }
      DATA {
      (0,0): 160, 0, 165, 4, 2.29761, 264, 4, 1.74368, 1, 0, 17, 193, 0, 0,
      (0,14): 0, 0, 0, 0, 0
      }
   }
   DATASET "a160" {
      DATATYPE  H5T_IEEE_F32BE
      DATASPACE  SIMPLE { ( 3, 19 ) / ( H5S_UNLIMITED, 19 ) }
      DATA {
      (0,0): 263, 0, 262, 7, 4.90241, 201, 34, 0.348432, 1, 0, 29, 11, 0, 0,
      (0,14): 0, 0, 0, 0, 0,
      }
   }
但我希望它按数据集名称排序,我需要输出数据

HDF5 "jjjj.h5" {
GROUP "/" {
   DATASET "a160" {
      DATATYPE  H5T_IEEE_F32BE
      DATASPACE  SIMPLE { ( 3, 19 ) / ( H5S_UNLIMITED, 19 ) }
      DATA {
      (0,0): 263, 0, 262, 7, 4.90241, 201, 34, 0.348432, 1, 0, 29, 11, 0, 0,
      (0,14): 0, 0, 0, 0, 0,
      }
   }

   DATASET "a1214" {
      DATATYPE  H5T_IEEE_F32BE
      DATASPACE  SIMPLE { ( 1, 19 ) / ( H5S_UNLIMITED, 19 ) }
      DATA {
      (0,0): 160, 0, 165, 4, 2.29761, 264, 4, 1.74368, 1, 0, 17, 193, 0, 0,
      (0,14): 0, 0, 0, 0, 0
      }
   }
}

默认情况下,
h5dump
按名称升序排列HDF5文件的组和属性:

-q Q, --sort_by=Q    Sort groups and attributes by index Q
-z Z, --sort_order=Z Sort groups and attributes by order Z

Q - is the sort index type. It can be "creation_order" or "name" (default)
Z - is the sort order type. It can be "descending" or "ascending" (default)
本例中的问题是,“a160”被认为大于“a1214”,因为字典排序就是这样工作的(“a12”<“a16”)

您无法更改HDF5文件的内部结构来强制
h5dump
以不同的顺序对这些数据结构进行排序。但是,您可以这样零填充您的姓名:

a0040
a0160
a1214
然后,标准字典排序将以您想要的方式输出文件