如何使用 pyfits、astropy.io.fits 或其他一些 python 库将单行添加到大型拟合文件中的二进制表?
该文件用作日志,因此每秒将添加一行,最终文件大小将达到千兆字节,因此读取所有文件并将其写回或将数据副本保存在内存中并将其写入文件每秒钟实际上是不可能的。到目前为止,使用 pyfits 或 astropy.io.fits 我只能将所有内容读取到内存中添加新行,然后将其写回。
例子。我像这样创建适合文件:
import numpy, pyfits
data = numpy.array([1.0])
col = pyfits.Column(name='index', format='E', array=data)
cols = pyfits.ColDefs([col])
tbhdu = pyfits.BinTableHDU.from_columns(cols)
tbhdu.writeto('test.fits')
我想在“索引”列中添加一些新值,即在二进制表中再添加一行。