簡體   English   中英

如何使用python合並多個.h5文件(但形狀相同)?

[英]How to combine multiple .h5 files(but same shape) using python?

如何使用python合並多個.h5文件(但形狀相同)?

我有10,000個.h5文件用於3D點雲。

它們具有相同的形狀。

我想合並(或合並)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組),然后遞歸復制所有內容。

另請參閱: 相關問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM