首页 > 解决方案 > 有没有办法快速将指定的表提取到不同的 HDF5 文件中?

问题描述

我要解决的问题如下 - 我有一个运行时间很长的 Python(可能需要几个小时才能完成)进程,它可以生成多达 80000 个 HDF5 文件。由于瓶颈之一是这些文件的不断打开和关闭,我决定编写一个概念验证代码,该代码使用单个 HDF5 文件作为包含许多表的输出。这当然有帮助,但我想知道是否有一种快速(更好)的方法可以将指定的表(如果可能的话重命名)导出到单独的文件中?

标签: hdf5

解决方案


是的,至少有 3 种方法可以将数据集的内容从一个 HDF5 文件复制到另一个文件。他们包括:

  1. h5copyHDF Group 的命令行实用程序。您可以指定源和目标 HDF5 文件,以及源和目标对象。可能这正是您想要的,无需大量编码。
    参考:HDF 组:H5Copy 文档
  2. h5py模块具有copy()用于组和/或数据集的方法。您输入源和目标对象。
  3. pytables模块(又名表)有一个copy_node()方法。节点是组和/或数据集。您输入源和目标对象。

如果您选择使用h5py,则有一些关于 SO 的相关帖子:


推荐阅读