matlab 了解python hdf5storage函数

tct7dpnv  于 2023-04-12  发布在  Matlab
关注(0)|答案(1)|浏览(207)

有没有人解释hdf5storage.write和hdf5storage.writes函数之间的确切区别。我读过文档,但我不明白它。

yyhrrdl8

yyhrrdl81#

这在hdf5storage docs中有解释。

  • 该模块中的主要函数是write()read(),它们将单个Python变量写入HDF5文件(或读取并返回读取的数据)。
  • 版本0.1.10添加了两个新功能:writes()reads()
  • 它们可以同时读写多个Python变量,尽管它们仍然可以处理单个变量。
  • 调用write()打开和关闭HDF5文件。因此,多次调用write()多个变量会导致性能损失。这在大型HDF5文件中最为明显。
  • 此外,savemat()loadmat()(用于处理MATLAB数据)现在使用writes()reads()来提高性能。

这里提供了write()writes()的完整文档。
对于名为'a'的Python变量,一个简单的write()调用如下所示:

hdf5storage.write(a, path='/a', filename='data.h5')

writes()调用使用字典,其中键是HDF5路径,值是要写入文件的数据。对于字典名称mdict,调用如下所示:

hdf5storage.writes(mdict, filename='data.h5')

以下是3个阵列的示例:

arr1 = np.arange(10)
arr2 = np.arange(10,20).reshape(5,2)
arr3 = np.arange(20,30).reshape(2,5)
hdf5storage.write(arr1, path='/arr1', filename='write_data.h5')
hdf5storage.write(arr2, path='/arr2', filename='write_data.h5')
hdf5storage.write(arr3, path='/arr3', filename='write_data.h5')

mdict = {'/arr1':arr1, '/arr2':arr2, '/arr3':arr3}
hdf5storage.writes(mdict, filename='writes_data.h5')

生成的文件应该相同。

相关问题