python - 如何使用 python 组合多个 .h5 文件(但形状相同)?

标签 python hdf5 point-clouds h5py

如何使用Python组合多个.h5文件(但形状相同)?

我有 10,000 个 3D 点云 .h5 文件。

它们具有相同的形状。

我想合并(或合并)2000 个文件,这样我总共可以有 5 个大 .h5 文件。 (比如python中的append()函数)

我从 h5py( http://docs.h5py.org/en/latest/high/group.html ) 中找到了 copy() 函数。

但是,我无法将该方法应用于我的问题。

请引用我的示例代码或帮助我解决我的问题。

抱歉我的英语水平不佳。

最佳答案

你可以简单地做这样的事情(未经测试但应该有效):

import h5py

def copy(dest, name):
    g = dest.require_group(name)  # create output group with the name of input file
    def callback(name, node):
        if isinstance(node, h5py.Dataset):  # only copy dataset
            g.create(name, data=node[:])

with h5py.File('out.h5', 'w') as h5_out:
    for f_in in files:
        with h5py.File(f_in, 'r') as h5_in:
                h5_in.visititems(copy(h5_out, f_in))

这将为每个文件创建一个“文件夹”(HDF5 组),并递归地将所有内容复制到其中。

另请参阅:related question .

关于python - 如何使用 python 组合多个 .h5 文件(但形状相同)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52959371/

相关文章:

python - 在 SQLAlchemy 中访问连接查询结果

python - 从 Python MatPlotLib 图形中提取误差线和点位置

python - 同时使用 pandas 和 PyTables (3.1.1),重新打开一个已经打开的文件

r - 保存在 hdf5save 中会创建一个不可读的文件

python - : Will it play in App Engine/Python?一站式资源

python - 想法如何使用python测量骨架的长度

Python/Pandas HDF5 NameError 问题

processing - 具有多个 Kinect 的点云

python - 使用 numpy 在边界框中查找点

c++ - 剔除点云中的受阻点