Python 将列追加到表中,同时保留标题

Python 将列追加到表中,同时保留标题,python,fits,pyfits,Python,Fits,Pyfits,我试图通过在FITS表扩展中添加一些新列来更新它。我遵循在中给出的方法。但是,合并表的标题仅包含标识列所需的最低限度的信息。原始头文件中有我需要的信息。如何将旧表中的所有额外关键字传递到新表中 我已经试过了 merged_table.header = old_table.header 并手动为新列添加必要的条目,但这总是会损坏标题并使整个FITS文件无法读取 感谢这个问题的最佳答案部分取决于新表的创建方式,但在PyFITS(v3.3.0)或Astropy(v0.4.2)的最新版本中,该方法从一

我试图通过在FITS表扩展中添加一些新列来更新它。我遵循在中给出的方法。但是,合并表的标题仅包含标识列所需的最低限度的信息。原始头文件中有我需要的信息。如何将旧表中的所有额外关键字传递到新表中

我已经试过了

merged_table.header = old_table.header
并手动为新列添加必要的条目,但这总是会损坏标题并使整个FITS文件无法读取


感谢

这个问题的最佳答案部分取决于新表的创建方式,但在PyFITS(v3.3.0)或Astropy(v0.4.2)的最新版本中,该方法从一组列定义创建一个新的二进制表HDU,它接受一个可选的
参数,例如,原始表格HDU中的标题

这将忽略与FITS格式所理解的表结构相关的任何关键字,而只保留其他元数据。我相信有一个bug,
header
参数被忽略了,但现在应该修复。

希望它能解决——祝你好运。还考虑检查星表接口:它是一个更好的接口,用于操作与大多数FIT表一起工作的表。