许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB数据读取:readtable函数异常处理指南

MATLAB数据读取:readtable函数异常处理指南

阅读数 1564
点赞 20
article_banner

背景

对于某个工作簿,采用readtable函数进行读取,如下数据

需要读取的数据

读取要求是对于InitialValue列,读取出来的是doule形式,但有时候该列却读成cell形式,且cell形式里面还是char形式,即有可能读取成{‘311.3542’}这种形式

原因分析

对于InitialValue列所包含的数据,其被保存成文本样式(也就是左上角的绿色小三角),导致readtable函数有时是把E列2行读取成{‘311.3542’},有时候也读取成[311.3542],真是奇妙

解决办法

(1)需要对Excel中的InitialValue列,都转换成数字后(去掉绿色小三角),matlab读取时才会是double列;

(2)或者直接读取后,再增加判断函数,如果读取不是double列则进行处理;

代码优化

a=reattable(......) % 读取数据 if ~isempty(a) % 若数据不为空则进行优化    if iscell(a.InitialValue) == 1 & isa(a.InitialValue{1},'double') == 1       a.InitialValue = cell2mat(a.InitialValue);    elseif iscell(a.InitialValue) == 1 & ischar(a.InitialValue{1}) == 1       a.InitialValue = cell2mat(cellfun(@(x)str2double(x),a.InitialValue,'Un',false));    end end


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空