matlab读入不规则txt文本问题.
我想在matlab中读入一个txt文档,matlab直接打开的数据格式如下图1,其中包含文字和数字,数字打开后每一列都有一定的空格数量。我的读入代码为:clc;clear...
我想在matlab中读入一个txt文档,matlab直接打开的数据格式如下图1,其中包含文字和数字,数字打开后每一列都有一定的空格数量。我的读入代码为:clc;clear all;close all;[FileName,PathName]=uigetfile('*.txt','Select a OutputData File'); %选择文件File=strcat(PathName,FileName); %获取文件路径和名称input_struct=importdata(FileName);%读入数据[temprow,tempcol]=size(input_struct.data);%获取读入数据的行列数InPutData=input_struct.data;%将input_struct结构体中的数据付给InPutData但是其中存在一定的问题:1、数据位数相同时,读出数据正确;如图2;2、当数据有效位数较少时,即空格数量不同,读入出现错误;原始数据本身有24列,此时出现25列,如图3-43、当数据位数不同较多时,更为严重,原本24列数据其中包含了8列0值,读入后出现32列,如图5-6非常希望有高人指导,数据量很大,需要批量处理,想从代码本质上解决问题的存在。
图1.原始数据直接matlab打开
图2.当txt中数据位数都相同时读入正确
图3.其中98.72较其他少1位有效数字
图4.由于98.72位数不同引起的多一列,后面数值串位
图5.另一个原始数据中包含了0列
图6.读入后出现的错误更为明显 展开
图1.原始数据直接matlab打开
图2.当txt中数据位数都相同时读入正确
图3.其中98.72较其他少1位有效数字
图4.由于98.72位数不同引起的多一列,后面数值串位
图5.另一个原始数据中包含了0列
图6.读入后出现的错误更为明显 展开
3个回答
展开全部
只要保证每列数中的个数都相等,应该可以读出来。能把数据传给看一看吗?lhmhz@qq.com
追问
数据已发,请您看看,非常感谢
追答
可能程序导出的数据格式有点问题,当处理值为0,产生多余的空格。使得在Matlab环境下转换出现了溢出问题,即NaN。建议用Excel导入txt后,删除多余的空格,保存后用命令读出数据。
clc;clear all;close all;
[FileName,PathName]=uigetfile('*.txt','Select a OutputData File'); %选择文件
File=strcat(PathName,FileName); %获取文件路径和名称
cd(PathName);
input_struct=importdata(FileName);%读入数据
A=input_struct.data;
if length(A(1,:))==24
[temprow,tempcol]=size(input_struct.data);%获取读入数据的行列数
InPutData=input_struct.data;%将input_struct结构体中的数据付给InPutData
else
disp('数据有问题,请用Excel处理')
end
*****
FileName,PathName]=uigetfile('*.xls','Select a OutputData File'); %选择文件
File=strcat(PathName,FileName); %获取文件路径和名称
cd(PathName);
input_struct=importdata(FileName);%读入数据
[temprow,tempcol]=size(input_struct.data);%获取读入数据的行列数
InPutData=input_struct.data;%将input_struct结构体中的数据付给InPutData
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
input_struct=importdata(FileName,' (你的空格数)');
试试
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |