我目前正在尝试使用Python3.4的astropy.io.fits从一个大型数据拟合格式的数据文件中读取数据。虽然我可以使用memmapper模式成功打开文件,但我无法访问文件中的数据。以下是我的代码
from astropy.io import fits
hdu_list = fits.open('large_file.fit', memmapper=True)
table = hdu_list[1].data在第二行table = hdu_list[1].data上,我得到了OSError: [WinError 8] Not enough storage is available to process this command
我的想法是,在将数据分配给变量table时,会尝试读取整个文件,从而导致存储错误。有没有什么替代方法,或者一种简单地一次读入每一行表数据的方法?
发布于 2015-05-02 05:29:27
发现哪里出了问题。我试着用fitsio打开FITS文件,然后逐行读取。然而,程序运行了一段时间,然后抛出了一个IOError。我发现文件的一行被损坏了,这就是导致astropy.io.fits无法在不抛出错误的情况下读取文件的原因。我不确定行到底是如何损坏的,或者它到底出了什么问题,我只是简单地下载了FITS文件的第二个副本,并修复了问题。
https://stackoverflow.com/questions/29956136
复制相似问题