我有一個HDF5文件,其中包含一個帶有列名的2D表格。它在HDFView中顯示爲當我掠奪此對象時稱爲results
。是否有可能從Python中的HDF5文件中的複合數據集中讀取字段名稱?
事實證明,results
是一個「複合數據集」,一個一維數組,其中每個元素是一行。下面是它的性能,如HDFView顯示:
我能得到這個對象的句柄,我們稱之爲res
。
的列名是V2pt
,R2pt
等
我可以讀取整個陣列作爲數據,以及可以讀取與
res[0,...,"V2pt"].
這一個元件將返回第一行中的數列V2pt
。與1
更換0
將返回第二行值等
,如果我知道colunm命名先驗工作。但我不知道。
我只想獲得整個數據集和的列名。我怎樣才能做到這一點?
我看到在HDF5文檔中的HDF5 documentation中有get_field_info
函數,但我在h5py中發現沒有這樣的函數。
我擰了嗎?
更妙的是閱讀此表作爲大熊貓數據幀的解決方案......
約翰,謝謝你的回答。但是,我有兩個後續問題。 – germ
1.返回的列表與表格的順序不同。我想這意味着我必須遍歷列表並獲取每列而不是res [...]。 2.我有另外一張桌子,你的方法只給出兩列,比方說第一張是'小結果'。實際上,該表有更多的列,在HDF5View中顯示爲「次要結果 - >上 - >參數1」。這些似乎是指一些其他表。任何想法如何獲得這些??? – germ
dtype.fields返回一個字典對象,這會擾亂排序。你可以這樣做:dtype.names,它將返回一個字段名的有序元組。我不是那些缺少的專欄。它是複合類型的複合類型嗎?在這種情況下,您需要一些代碼來獲取所有字段名稱的平面列表。 –