使用天文表莫杜

2024-04-18 16:38:23 发布

您现在位置:Python中文网/ 问答频道 /正文

注意,我使用的是astropy表格和ascii模块的组合。你知道吗

我希望在我的表上方包含以下注释标题:

#1   pxlname        1
#2   x              0
#3   y              0
#4   z              8
#5   Dist           9
#6   FUV            6       FUV
#7   UVW2           6       UVW2
#8   UVM2           6       UVM2
#9   NUV            6       NUV   
#10  UVW1           6       UVW1
#11  sdssu          6       u_sdss     
#12  sdssg          6       g_sdss     
#13  sdssr          6       r_sdss
#14  sdssi          6       i_sdss    
#15  sdssz          6       z_sdss     
#16  J              6       J_2MASS     
#17  H              6       H_2MASS     
#18  K              6       Ks_2MASS     
#19  FUV_err        7
#20  UVW2_err       7      
#21  UVM2_err       7      
#22  NUV_err        7
#23  UVW1_err       7      
#24  sdssu_err      7
#25  sdssg_err      7
#26  sdssr_err      7 
#27  sdssi_err      7 
#28  sdssz_err      7
#29  J_err          7
#30  H_err          7
#31  K_err          7

此时我的数据将继续。你知道吗

目前,我使用以下内容编写数据:

table_ssp_M33_SWIFT_cat = Table([pxlname, x, y, SDSS_u, SDSS_g, SDSS_r, SDSS_i, SDSS_z], names=('##pxlname', 'x', 'y', 'SDSS_u', 'SDSS_g', 'SDSS_r', 'SDSS_i', 'SDSS_z'))

ascii.write(table_ssp_M33_SWIFT_cat, 'table_ssp_M33_SWIFT_cat.dat')

基本上,我希望这个标题位于##pxlname x yetc等列之上。你知道吗

有可能做到这一点吗?你知道吗


Tags: asciitablecaterrswiftsdsssspm33
1条回答
网友
1楼 · 发布于 2024-04-18 16:38:23

像这样:

In [29]: t = Table([[1],[1]], names=('##pxlname', 'x'))
In [30]: t.meta['comments'] = ['1 pxlname 1', '2 x      0']  # you define these.
In [31]: t.write('out.dat', format='ascii')
In [32]: cat out.dat
# 1 pxlname 1
# 2 x      0
##pxlname x
1 1

In [33]: t2 = t.read('out.dat', format='ascii', comment='# ')
In [34]: t2
Out[34]: 
<Table length=1>
##pxlname   x  
  int64   int64
    -   -
        1     1

In [35]: print(t2.meta['comments'])
['1 pxlname 1', '2 x      0']

相关问题 更多 >