开发者社区> 问答> 正文

如何在python中读取.float文件?

我正在处理大脑MRI数据,它是.float数据。

您知道如何在python中使用它吗?

with open('[43x25520].float') as f:
     read_data = f.read()

我得到:

Out[16]:  Traceback (most recent call last):

  File "<ipython-input-18-64e280c91de5>", line 2, in <module>
    read_data = f.read()

  File "/home/anja/anaconda3/lib/python3.7/codecs.py", line 322, in
decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position
2: invalid start byte

但是我想使用文件中的浮点数。

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 17:04:26 691 0
1 条回答
写回答
取消 提交回答
  • 假设这些文件只是浮点数的流,并且它们足够小以适合内存,则下面的命令应该起作用。

    from struct import iter_unpack
    
    with open('/path/to/file', 'rb') as dat:
        # This will give you your data as a 1D array
        data = list(iter_unpack('f', dat.read()))
    

    这是假设本地的。如果需要指定其他内容,可以将''f'更改为''<f''> f'。看这里。

    要将其转换为尺寸正确的矩阵,我将看一下numpy。

    import numpy as np
    
    matrix = np.array(data).reshape(43, 25520) # data from above
    print(matrix[2,4523])
    

    回答来源:stackoverflow

    2020-03-23 17:04:31
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载