python读取fits第三方库_使用pyfits一次读取FITS二进制表一行

我有一个包含二进制表的60GB FITS文件。我想一次读一行/一个条目/一行/一个块*来读取(和处理)这个表。在

(*我不确定正确的命名法)

我正在使用pyfits,我想做的事情可以归结为:import pyfits

hdulist = = pyfits.open("file.fits")

# the binary table has to be in the 2nd extension

# hence it is in hdulist[1]

n_entries = hdulist[1].header['NAXIS2']

for i in xrange(n_entries):

entry = hdulist[1].data[i] # I am confused what happens at this step

# now do stuff with the values in entry

# .....

变量entry属于类型,其长度等于二进制表中的列数。然而,似乎发生的事情是二进制表的整个被读入内存中的这行:entry = hdulist[1].data[i]。在

我已经看过pyfits文档,但是我找不到任何一个方法可以从二进制表扩展中逐个表条目读取数据(或者一次读取一小组条目)。我不想从表中选择某些条目,只需按顺序浏览它们。在

我想我的问题是:

0)在hdulist[1].data[i]步骤发生了什么?为什么一切都被读入记忆?(有什么办法吗?)在

1)我是否错过了什么,pyfits真的可以为所欲为吗?在

2)有没有另一个python库可以呢?

(即在FITS扩展中使用二进制表)

3)如果没有,我可以用不同的二进制(或其他压缩/非ascii)格式(不适合)重新写入数据,并找到其他python库或模块来执行我想要的操作吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值