我有一堆值写在 FITS 文件中。每列大约有 320,000 个点...我需要的列是 3 列,分别称为 detx、dety 和 energy。我需要将这些数据用于我的程序。我知道如何将这个 FITS 文件转换成 txt 文件(如下图示例)然后使用数据,但是如何直接使用数据呢?例如,我如何从这个 FITS 文件中获取数据,然后在 python 中打印出来?
以下是如何将 fit 文件转换为文本文件的示例:
from astropy.io import fits
#This is what the file is called
hdulist = fits.open('acisf02149N003_evt2.fits.gz')
hdulist.info()
tbdata = hdulist[1].data
#This prints it out into a text file
f=open('ChandraXraysources.txt','w+')
#This chooses only the detx, dety, and energy columns I was talking about
detxvect=tbdata.field('detx')
detyvect=tbdata.field('dety')
detzvect=tbdata.field('energy')
#This lists at the top of the text file the names of each column
f.write('Chandra X-ray source, RA(x),dec(y),energy \r\n')
for i in range(len(detxvect)):
f.write('%e %e %e\r\n' %(detxvect[i],detyvect[i],detzvect[i]))
print(detxvect[0])