0

我目前正在尝试使用 Python 3.4 的 astropy.io.fits 从大型数据 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时,会尝试读取整个文件,从而导致存储错误。是否有任何解决方法,或者有一种方法可以一次简单地读取表数据的每一行?

4

1 回答 1

2

发现出了什么问题。我试图用 fitio 打开 FITS 文件,然后逐行读取。然而程序运行了一段时间,然后抛出了一个 IOError。我发现文件的其中一行已损坏,这就是导致 astropy.io.fits 无法在不引发错误的情况下读取文件的原因。我不确定该行是如何损坏的,或者它到底出了什么问题,我只是下载了 FITS 文件的第二个副本并解决了问题。

于 2015-05-01T21:29:27.363 回答