不确定我是否可以在这里发布这样的问题,所以如果我在错误的位置,请重定向我。
我已经购买了Wahoo TICKR X来监视运动时的心率。我也想对python更加熟悉,所以我决定自己用python而不是在wahoo应用程序中对我的心率进行分析。我认为这也将为可视化,测试等的选择提供更多自由。
我已经记录了5分钟左右的心率,并导出了.fit文件。但是,我什至找不到合适的库来读取.fit文件。谁能推荐与wahoo兼容.fit文件的库?
我正在使用ubuntu,anaconda,python 3.7
import pyfits
# Load the FITS file into the program
hdulist = pyfits.open('/home/bradmin/Downloads/2020-03-26.fit')
# Load table data as tbdata
tbdata = hdulist[1].data
OSError Traceback (most recent call last)
<ipython-input-3-a970e2cd9dee> in <module>
2
3 # Load the FITS file into the program
----> 4 hdulist = pyfits.open('/home/bradmin/Downloads/2020-03-26.fit')
5
6 # Load table data as tbdata
~/anaconda3/lib/python3.7/site-packages/pyfits/hdu/hdulist.py in fitsopen(name, mode, memmap, save_backup, **kwargs)
122 raise ValueError('Empty filename: %s' % repr(name))
123
--> 124 return HDUList.fromfile(name, mode, memmap, save_backup, **kwargs)
125
126
~/anaconda3/lib/python3.7/site-packages/pyfits/hdu/hdulist.py in fromfile(cls, fileobj, mode, memmap, save_backup, **kwargs)
264
265 return cls._readfrom(fileobj=fileobj, mode=mode, memmap=memmap,
--> 266 save_backup=save_backup, **kwargs)
267
268 @classmethod
~/anaconda3/lib/python3.7/site-packages/pyfits/hdu/hdulist.py in _readfrom(cls, fileobj, data, mode, memmap, save_backup, **kwargs)
853 # raise and exception
854 if mode in ('readonly', 'denywrite') and len(hdulist) == 0:
--> 855 raise IOError('Empty or corrupt FITS file')
856
857 # initialize/reset attributes to be used in "update/append" mode
OSError: Empty or corrupt FITS file
链接到文件:https://wetransfer.com/downloads/6d054a5d52899aefcb1bcd22bda92ba120200326161849/b9831a
格式似乎是this FIT format。 pyfits
似乎是一种完全不同的格式。
上面的文章指的是gpsbabel
工具,您可以将其用于将FIT文件转换为更可互操作和使用的工具,例如GPX(一种易于解析的基于XML的格式)。
或者,当然,如果您需要纯Python解决方案,则可以port the FIT format reading bits from gpsbabel转换为Python。