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

2行目でtable = hdu_list[1].data私は得るOSError: [WinError 8] Not enough storage is available to process this command

私の考えでは、変数tableにデータを代入すると、ファイル全体を読み取ろうとし、ストレージ エラーが発生します。回避策、またはテーブル データの各行を一度に読み込む方法はありますか?

4

1 に答える 1

2

何が問題なのかを発見しました。私はfitsioでFITSファイルを開こうとし、行ごとに読み込もうとしました。ただし、プログラムはしばらく実行された後、IOError がスローされました。ファイルの行の 1 つが破損していることがわかりました。これが原因で、エラーをスローせずに astropy.io.fits がファイルを読み取ることができませんでした。行がどのように破損したのか、または何が問題なのか正確にはわかりません.FITSファイルの2番目のコピーをダウンロードしただけで問題が解決しました.

于 2015-05-01T21:29:27.363 に答える