hdf5 - 有没有办法快速将指定的表提取到不同的 HDF5 文件中?
问题描述
我要解决的问题如下 - 我有一个运行时间很长的 Python(可能需要几个小时才能完成)进程,它可以生成多达 80000 个 HDF5 文件。由于瓶颈之一是这些文件的不断打开和关闭,我决定编写一个概念验证代码,该代码使用单个 HDF5 文件作为包含许多表的输出。这当然有帮助,但我想知道是否有一种快速(更好)的方法可以将指定的表(如果可能的话重命名)导出到单独的文件中?
解决方案
是的,至少有 3 种方法可以将数据集的内容从一个 HDF5 文件复制到另一个文件。他们包括:
h5copy
HDF Group 的命令行实用程序。您可以指定源和目标 HDF5 文件,以及源和目标对象。可能这正是您想要的,无需大量编码。
参考:HDF 组:H5Copy 文档- h5py模块具有
copy()
用于组和/或数据集的方法。您输入源和目标对象。 - pytables模块(又名表)有一个
copy_node()
方法。节点是组和/或数据集。您输入源和目标对象。
如果您选择使用h5py
,则有一些关于 SO 的相关帖子:
推荐阅读
- database - 为什么文件列不能有第三维?
- r - 具有 R 和 ts 函数的时间序列
- http - 解释来回 TCP 调用的次数
- geopandas - 使用 GeoPandas 计算成对地理空间距离矩阵
- gsm - gsm模块和esp32的文件下载问题
- linux - 使用 eval 语句复制 bash 关联数组
- excel - 在 Excel 中使用 HEX/RGB 值的条件格式在另一个表中查找
- azure-cognitive-search - DotNet Core Azure 搜索 SDK - 筛选结果
- ios - for 循环中的嵌套异步函数
- java - 无法在索引 20 处解析 Java 11 DateTimeParseException