matlab读取文件 错误使用dlmread文件和格式字符向量之间不匹配。读取文件中的 ‘Numeric‘ 字段时出现问题

问题出现

在做数据挖掘时,由于别人的模型使用的数据文件格式是mat格式,所以我不得不将csv格式的数据文件转化为mat格式的文件。当然还有另一种思路是去修改源代码,让其可以读取csv格式的数据,而这样的操作需要去分析或者debug别人的代码,然后修改,修改后可能还会有一堆错误需要解决。所以我觉得把它转化为模型所需的数据格式可能会比较方便。因此,这次的csv文件转化为mat文件操作中,我就出现了这样的问题:


  • 错误使用 dlmread (line 147) 文件和格式字符向量之间不匹配。 读取文件(行号 1,字段编号 1)中的 ‘Numeric’
    字段时出现问题 ==>
    -1.93027,-1.47324,…

问题截图如下:
问题出现图

其它解决办法

我看过搜索过其它的解决方法,在matlab的中文论坛以及其它网站也看过几种其他人的解决办法,如:用其它的数据读取文件方式,或者说是matlab版本问题。。。大家可以自行查询,而我用了个别方法都没有成功,所以在此记录下我的解决方法。

我的方法

之所以我在matlab读取csv数据文件的时候会出现这样的情况,是因为csv文件的编码有问题。之前用python数据预处理的时候,把编码的格式设置为“utf-8_sig”,所以导致了用matlab读取文件出现了这个问题,所以解决方法是将读取的文件编码格式改为“utf-8”即可,具体改的方法有两个,如果你的数据文件就才几个,可以是手动的方法,直接另存为的操作,参考链接如下:

  • https://zhidao.baidu.com/question/360722668350636652.html

另一种方法就是对于你的文件是成百上千个的话,你就需要用python或者其它编程语言来处理了。这次我用了python,使用了pd.to_csv()方法,设置to_csv()属性encoding为“utf-8”即可。具体操作的参考链接如下:

  • https://www.cnblogs.com/wyy1480/p/10322336.html

这样就可以使用matlab成功读取csv文件了,如下图所示。如果这种方法还不行,能力有限,只能帮助到这里了,大家只能再看看其他人的方法了。
读取文件成功图

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值