爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 24627|回复: 35

[程序设计] matlab读取含有文本字符的txt文件

[复制链接]

新浪微博达人勋

发表于 2013-8-26 17:15:43 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 dmjdmj11 于 2013-8-26 17:24 编辑

图片1.png
.txt文本如上图所示。第一行为文本形式,其余全为数值型数据。Matlab可读取如下:>> A(:,:)=textread('E:\1.txt','','headerlines',1);    %去掉第一行文本字符串读取文件

图片2.png
.txt本如上图所示。第一行为文本形式,其余数据既有文本形式,也有数据形式。Matlab可读取如下:
clear all; clc;
fid=fopen('E:\2.txt','r'); %打开文件到变量fid
tline=fgetl(fid);     %去掉文件第一行
while ~feof(fid)    %若未到文件末尾,继续执行循环体
tline=fgetl(fid);
disp(tline);    %每读一行都显示出来
end
fclose(fid);
如果仅需要提取出成绩这一列数据,则实现方式如下:
clear all;clc;
C=[ ];
fid=fopen('E:\2.txt');
tline=fgetl(fid);
while ~feof(fid)   
tline=fgetl(fid);  
I=strfind(tline,' ');   %找出空格所在的位置  
A=tline(I(2)+1:I(2)+2);  
B=str2num(A);   
C=[C;B];   
dlmwrite('E:\aa.txt',C,'delimiter',' ');
end
fclose(fid);

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
Aires + 10 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-26 18:07:58 | 显示全部楼层
不错的例子,谢谢分享~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-26 23:08:24 | 显示全部楼层
谢谢分享 不错的例子
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-27 10:19:50 | 显示全部楼层
挺不错的~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-27 11:02:32 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-28 18:39:01 | 显示全部楼层
谢谢楼主分享,请问A=tline(I(2)+1:I(2)+2);  语句中的I(2)是何含义,尤其是2表示啥意思,B=str2num(A);str2num()函数是啥意思,刚学习,不太懂望指教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-28 21:10:24 | 显示全部楼层
MeteroCl 发表于 2013-8-28 18:39
谢谢楼主分享,请问A=tline(I(2)+1:I(2)+2);  语句中的I(2)是何含义,尤其是2表示啥意思,B=str2num(A);str ...

I数组是每行空格的位置,比如本例中每行I有2和8两个元素,代表每行第2和第8个位置是空格。I(2)代表每行第8个位置处。因为现在A为字符型,需要把其转为数值型输出。所以用str2num函数转换。不懂的函数可以help或doc查询。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-28 22:01:32 | 显示全部楼层
这个例子不错。还可以继续丰富。如果时间段型的。文本格式的存储比较丰富。例如气象站点数据的.aaa的那种。期待力作。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-29 19:39:19 | 显示全部楼层
dmjdmj11 发表于 2013-8-28 21:10
I数组是每行空格的位置,比如本例中每行I有2和8两个元素,代表每行第2和第8个位置是空格。I(2)代表每行第 ...

解释的完全明白了,拜谢~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-29 22:26:47 | 显示全部楼层
本帖最后由 dmjdmj11 于 2013-8-29 22:27 编辑
kongfeng0824 发表于 2013-8-28 22:01
这个例子不错。还可以继续丰富。如果时间段型的。文本格式的存储比较丰富。例如气象站点数据的.aaa的那种。 ...

确实如此。可以尝试更多的关于Matlab读取文本数据的
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表