通过python向FITS文件添加新列

通过python向FITS文件添加新列,python,fits,pyfits,Python,Fits,Pyfits,我创建了一个名为distance的数组,其中包含1242个值。我想将此数组添加为包含10列的现有FITS文件中的第11列 我正在使用pyfits 我尝试了pyfits.append(文件名,距离),它没有显示任何错误,但没有将我的列添加到FITS文件中 有什么建议吗?最后,他们发布了一个更新的库,允许以人工方式修改表扩展 的最后版本。您可以轻松添加一列,其中的代码如下所示: import fitsio from fitsio import FITS,FITSHDR ... fits = FITS

我创建了一个名为distance的数组,其中包含1242个值。我想将此数组添加为包含10列的现有FITS文件中的第11列

我正在使用pyfits

我尝试了pyfits.append(文件名,距离),它没有显示任何错误,但没有将我的列添加到FITS文件中


有什么建议吗?

最后,他们发布了一个更新的库,允许以人工方式修改表扩展

的最后版本。您可以轻松添加一列,其中的代码如下所示:

import fitsio
from fitsio import FITS,FITSHDR
...
fits = FITS('file.fits','rw')
fits[-1].insert_column(name = 'newcolumn', data = mydata)      # add the extra column
fits.close()

您正在尝试向表中添加列吗
pyfits.append
只是将数组作为新的图像HDU追加。是的,我想向表中添加一列。我该怎么做@iGuanautdo需要使用pyfits吗?否则,我将使用标题中的s/python/PyFITS:)您可以使用该示例的简化版本,而无需创建新文件。列的组合方式是添加两个列表。您只需创建一个包含单个字段(包括列数据数组)的
ColDefs
,然后添加这些字段。您仍然需要将其写入新文件。向FITS表中添加列是很棘手的,因为它们是面向行的,需要移动所有的行。碰巧我现在正在更新PyFITS文档,所以我添加了一个新的示例,这个问题激发了我的兴趣。请参见此处的第二个示例: