簡體   English   中英

hdf5多個可擴展表

[英]hdf5 multiple extensible tables

我正在分析大量文件以剝離重要的統計信息。 分析程序為每個被分析的文件創建大約3000個長度為n(大約100)的雙數組以及一個字符串,該字符串為相應數組的內容命名。 我想將結果寫到hdf 5文件中,其中每個數組都寫到一個名稱分別為字符串的表中。 為此,我使用以下功能:

#include "hdf5.h"
#include "hdf5_hl.h"
 hid_t       file_id;
 hsize_t     dims[RANK]={1,n};
 herr_t      status;

....

void hdf5_write ( double& array , string arrayname )
{     
 const char * tablename = arrayname.c_str();
 status = H5LTmake_dataset(file_id,tablename,RANK,dims,H5T_NATIVE_DOUBLE,array);
}

這對於分析第一個文件非常有效,但是,當一個接一個地分析多個文件時,現有表只是被新數組覆蓋,盡管我希望將新數組分別追加到已存在的表中。 那種情況下有hdf 5功能嗎?

恐怕您無法使用高級(H5LT)界面進行追加。

這是使用低級接口完整示例 它要復雜得多,但是可以完全控制您。

或者,如果您認為這太過分了,則可以問自己:是否真的需要單個大型數據集還是多個小型數據集。 根據您所考慮的應用程序,多個數據集可能只是一個更好的設計。

暫無
暫無

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

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