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)
该文件是使用以下命令在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)