Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-11-28, 17:43   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 在python中以32位精度的整数读取txt文件

我需要在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中创建文件的方式,因为这不是我要做的事情。

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



更多&回答...
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 00:02


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.