Python 使用astropy.tables模块指定大的注释标题
注意,我使用的是astropy表格和ascii模块的组合 我希望在我的表格上方包含以下注释标题:Python 使用astropy.tables模块指定大的注释标题,python,header,astropy,Python,Header,Astropy,注意,我使用的是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
#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 y
等列之上
有可能做到这一点吗 类似这样:
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']
[29]中的t=Table([[1],[1]],name=('##pxlname','x'))
在[30]:t.meta['comments']=['1pxlname 1','2x0']中,您定义了这些。
In[31]:t.write('out.dat',format='ascii')
In[32]:cat out.dat
#1 pxlname 1
#2x0
##pxlname x
1 1
在[33]中:t2=t.read('out.dat',format='ascii',comment='#')
In[34]:t2
出[34]:
##pxlname x
int64 int64
--------- -----
1 1
在[35]中:打印(t2.meta['comments'])
['1 pxlname 1','2 x 0']
是否有任何方法可以将我想要的内容作为字符串传递到[]
括号中?t.meta['comments']='long comment\n containing\n WLines'。splitlines()