登录论坛

查看完整版本 : 在python中以32位精度的整数读取txt文件


poster
2019-11-28, 17:43
我需要在python(准确地说是python3)中读取具有32位精度的整数值的.txt文件。

该文件是使用以下命令在MATLAB中创建的:

fwrite(fileID,array,'*int32') 当我使用以下命令在MATLAB中读取同一文件时:

array = fread(fileID,'*int32') 实际上,整数是在数组变量中读取的。

但是 ,当我尝试在Python Jupyter笔记本中读取同一文件时,我永远无法读取这些值。更具体地说,当我使用时:

file = open('path/file.TXT', 'r') array = file.read() 我收到以下消息:

解码中的/usr/lib/python3.6/codecs.py(self,input,final)319#解码输入(考虑缓冲区)

320数据= self.buffer +输入

-> 321(结果,已消耗)= self._buffer_decode(数据,self.errors,最终的)

322#保持未解码的输入,直到下一次调用

323 self.buffer = data [消耗:]

UnicodeDecodeError:'utf-8'编解码器无法解码位置1-2中的字节:无效的连续字节

当我使用numpy的load函数时,会弹出相同的消息:

array = numpy.loadtxt('path/file.TXT', int) 我应该注意,当我尝试在Ubuntu中使用任何文本编辑器打开文件时,都看不到这些值。因此,我只能在MATLAB中阅读它。我可以更改在MATLAB中创建文件的方式,因为这不是我要做的事情。

如果需要,我可以提供文件。预先感谢大家的帮助!



更多&回答... (https://stackoverflow.com/q/59085737)