我在HDF5 Example code
處發現了類似的問題,但我無法正確查看hdf5數據集的內容。在HDF5文件中讀取和操作
我正在查看的數據集包含字符串標題,其中第一列爲字符串,其他列爲雙精度字符串。
這裏是我的代碼如下所示:
public static void readh5(string path, string filename)
{
H5.Open();
var fileID = H5F.open(path + filename, H5F.OpenMode.ACC_RDONLY);
var groupID = H5G.open(fileID, "/Example Group/");
var datasetID = H5D.open(groupID, "Events");
var dataSpace = H5D.getSpace(datasetID);
var size = H5S.getSimpleExtentDims(dataSpace);
var dataType = H5D.getType(datasetID);
double[,] dataArray = new double[size[0],11];
var wrapArray = new H5Array<double>(dataArray);
H5D.read(datasetID, dataType, wrapArray);
Console.WriteLine(wrapArray);
}
當我調試,並考慮wrapArray每一個元素是一個令人難以置信的大或小的雙打在價值10^300至10^-300,我不知道爲什麼。我不認爲這些是元素的ID號碼。我試着將wrapArray和dataArray的數據類型更改爲對象,但仍然沒有給出數據集的確切內容。
我得到wrapArray輸出看起來像:
[0,0] 4.0633928641260729E+87
[0,1] 9.77854726248995E-320
[0,2] 1.52021104712121E-312
等
但我想要的是:
等
在看完後我想通過第一列循環查找特定字符串的數據集,並獲取相應的元素nts在其他列中。但我必須弄清楚這一點。
John沒有問這個問題。一般來說,你不需要像信件那樣格式化答案。歡迎來到堆棧溢出!您可以點擊您的答案下面的編輯來更改它。 –