我在从 fit 文件中读取数据时遇到问题。通常我可以很好地从 fit 文件中读取数据,但现在我有一些数据文件给我带来了一些问题。当我尝试读取应该包含三列和一个标题的文件时,我得到的只是一个看起来像这样的数字表:
[[ 64 195 45 ...,0 0 0]]
现在这是整数,数据文件实际上应该包含三列,其中包含三列中的双精度和浮点数,如下所示:
[9819.3801, 0.00000, 0.00000]
[9820.0025、5.50764e-16、1.62396e-16]
[820.6248, -3.75781e-17, 1.51864e-16]
我知道我应该获取这些值,因为 IDL 中名为mrdfits的包可用于检索这些值。我尝试查看 fit 文件包含的数据类型和格式,我的代码如下所示:
f=pyfits.open('filename')
dat =f[1].data
print f.info
>> No. Name Type Cards Dimensions Format
>> 0 PRIMARY PrimaryHDU 4 () uint8
>> 1 PRIMARY PrimaryHDU 576 (156288, 1) uint8
>> None
print pyfits.getval('filename','xtension',1)
>> BINTABLE
print dat
>> [[ 64 195 45 ..., 0 0 0]]
我的问题基本上是;是否有另一种方法可以读取数据,以便为我提供三列非整数数据?我想知道是否是因为文件是 BINTABLE ,所以它的读取方式与通常不同?除了我目前所做的之外,还有其他方法可以加载三列吗?如果您需要我澄清一些观点,请询问,因为我目前已经尝试了很多事情,我不确定该采取哪个方向。任何帮助将非常感激!