4

我有很多像这样的 VO 表:

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

但我实际上对表格本身并不感兴趣,只对元数据又名PARAMEters 感兴趣。有没有一种简单的方法可以在 python/astropy 中获取这些(如 FITS 表头)?

我唯一发现的是一些嵌套的for循环:

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名称的列表......

4

2 回答 2

5

您可以使用iter_fields_and_params来遍历文件中的所有FIELD标签PARAMFIELD在 VOTable land 中,a和 a之间的唯一区别PARAM是 aPARAM具有恒定值,因此它们在逻辑上分组在一起。

于 2015-04-30T21:42:08.490 回答
0

解决方法:访问每个单独的 PARAM很容易。例如:

print H.get_field_by_id('filterID').value

虽然这在 astropy 文档中并不完全清楚,但访问 PARAM(一旦你知道 PARAM 名称)的工作方式与 FIELDs 完全相同......

于 2015-05-04T12:25:22.817 回答