2015-04-30 53 views
4

我有很多VO的表像這樣的:astropy.io.votable - 有沒有簡單的方法來獲得VOTable PARAMeters?

http://svo2.cab.inta-csic.es/theory/fps3/fps.php?ID=2MASS/2MASS.H

,但我不是真正感興趣的表本身,只有在又名PARAMeters的元數據。 有沒有一種簡單的方法來獲得這些(如FITS表頭)python/astropy?

我發現的唯一的事情是一些嵌套的循環:

from astropy.table import Table 
H = Table.read('2MASS.2MASS.H.xml') 

for resource in H.resources: 
    for param in resource.params: 
     print param.name, param.value 

編輯:我其實想是讓PARAM 列表/字典和相應的PARAM 列表...

回答

5

您可以使用iter_fields_and_params遍歷文件中的所有FIELDPARAM標記。在可投放的土地上,FIELDPARAM之間的唯一區別是PARAM具有恆定值,因此它們在邏輯上組合在一起。

+0

謝謝邁克爾!但是,我該如何實際訪問iter_fields_and_params產生的「生成器對象」? '** AttributeError **:'generator'對象沒有屬性'name'。對不起,這對我來說真的很新鮮.. – fjaellet

0

解決方法:訪問各個PARAM 很容易。例如:

print H.get_field_by_id('filterID').value 

雖然這不是從astropy文檔完全清楚,訪問PARAM (一旦你知道了PARAM名稱)完全相同的作品以同樣的方式爲場...

相關問題