我正在处理大脑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
假设这些文件只是浮点数的流,并且它们足够小以适合内存,则下面的命令应该起作用。
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。