Python 如何使用pytables截断HDF5文件中的耳环?

Python 如何使用pytables截断HDF5文件中的耳环?,python,numpy,hdf5,pytables,Python,Numpy,Hdf5,Pytables,我有一个HDF5文件,其中包含一个非常大的耳环,为了节省磁盘空间并更快地处理它,我想将其截断。我正在包含array的节点上使用truncate方法。pytables报告阵列已被截断,但仍占用相同的磁盘空间 截断前的目录列表: $ ll total 3694208 -rw-rw-r-- 1 chris 189 Aug 27 13:03 main.py -rw-rw-r-- 1 chris 3782858816 Aug 27 13:00 original.hdf5 我用于截断的脚本(

我有一个HDF5文件,其中包含一个非常大的耳环,为了节省磁盘空间并更快地处理它,我想将其截断。我正在包含array的节点上使用
truncate
方法。pytables报告阵列已被截断,但仍占用相同的磁盘空间

截断前的目录列表:

$ ll total 3694208
-rw-rw-r-- 1 chris        189 Aug 27 13:03 main.py
-rw-rw-r-- 1 chris 3782858816 Aug 27 13:00 original.hdf5
我用于截断的脚本(main.py):

脚本的输出。正如所料,耳环从非常大变为更小

original.hdf5 (File) ''
Last modif.: 'Thu Aug 27 13:00:12 2015'
Object Tree: 
/ (RootGroup) ''
/recordings (Group) ''
/recordings/0 (Group) ''
/recordings/0/data (EArray(43893300, 43)) ''
/recordings/0/application_data (Group) ''

original.hdf5 (File) ''
Last modif.: 'Thu Aug 27 13:00:12 2015'
Object Tree: 
/ (RootGroup) ''
/recordings (Group) ''
/recordings/0 (Group) ''
/recordings/0/data (EArray(30000, 43)) ''
/recordings/0/application_data (Group) ''
但该文件占用的磁盘空间几乎完全相同:

ll
total 3693196
-rw-rw-r-- 1 chris        189 Aug 27 13:03 main.py
-rw-rw-r-- 1 chris 3781824064 Aug 27 13:03 original.hdf5
我做错了什么?如何回收此磁盘空间


如果有一种方法可以直接修改耳环的内容,而不是使用truncate方法,这对我来说会更有用。类似于node=node[idx1:idx2,:],这样我就可以选择要保留的数据块。但是当我使用这种语法时,变量
节点
只会变成一个numpy数组,并且hdf5文件不会被修改。

如中所述,您不能真正从现有hdf5文件中释放磁盘空间。它不是hdf5设计的一部分,因此它也不是
pytables
的一部分。您可以从文件中加载数据,然后将其全部重写为新文件(可能具有相同的名称),也可以使用命令行实用程序为您执行此操作。

如中所述,您无法从现有hdf5文件中释放磁盘空间。它不是hdf5设计的一部分,因此它也不是
pytables
的一部分。您可以从文件中加载数据,然后将其全部重写为新文件(可能具有相同的名称),也可以使用命令行实用程序为您执行此操作。

如中所述,您无法从现有hdf5文件中释放磁盘空间。它不是hdf5设计的一部分,因此它也不是
pytables
的一部分。您可以从文件中加载数据,然后将其全部重写为新文件(可能具有相同的名称),也可以使用命令行实用程序为您执行此操作。

如中所述,您无法从现有hdf5文件中释放磁盘空间。它不是hdf5设计的一部分,因此它也不是
pytables
的一部分。您可以从文件中加载数据,然后将其全部重写为新文件(可能具有相同的名称),也可以使用命令行实用程序为您执行此操作。

PyTables还附带了用于此的实用程序
h5repack-i original.hdf5-o较小。hdf5
运行良好,谢谢!PyTables还附带了用于此
h5repack-i original.hdf5-o更小版本的实用程序。hdf5
运行良好,谢谢!PyTables还附带了用于此
h5repack-i original.hdf5-o更小版本的实用程序。hdf5
运行良好,谢谢!PyTables还附带了用于此
h5repack-i original.hdf5-o更小版本的实用程序。hdf5
运行良好,谢谢!
ll
total 3693196
-rw-rw-r-- 1 chris        189 Aug 27 13:03 main.py
-rw-rw-r-- 1 chris 3781824064 Aug 27 13:03 original.hdf5