gpt4 book ai didi

python - 如何用pyfits合并两个表?

转载 作者:行者123 更新时间:2023-11-28 21:12:50 25 4
gpt4 key购买 nike

我正在使用 Python 2.7.10 和 pyfits 3.3。早些时候,我使用了以下代码来合并两个表。但是,现在我遇到了一些错误

t1 = pyfits.open(table1)[1].columns
t2 = pyfits.open(table2)[1].columns
new_columns = t1 + t2
hdu = pyfits.BinTableHDU.from_columns(new_columns)
hdu.writeto(outtable)

错误是:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/vvikraman/anaconda2/lib/python2.7/site-packages/pyfits/hdu/table.py", line 116, in from_columns
data = FITS_rec.from_columns(coldefs, nrows=nrows, fill=fill)
File "/home/vvikraman/anaconda2/lib/python2.7/site-packages/pyfits/fitsrec.py", line 315, in from_columns
if arr.hdu.data is None:
ReferenceError: weakly-referenced object no longer exists

最佳答案

有什么原因不能使用 astropy(即 astropy.io.fits)吗?

在那种情况下,习语将是:

from astropy.table import Table, hstack
t1 = Table.read(table1)
t2 = Table.read(table2)
new = hstack([t1, t2])
new.write(outtable)

readwrite 调用中,如果表扩展名符合要求,则需要提供 format='fits'并不意味着它适合。

关于python - 如何用pyfits合并两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com