matlab 中如何读取文本文件

如何读取特定规则的文本中的数据呢?
假定名为 test.txt 的文件中以下为文件内容 

你好,我的数据 
欢迎来到 
百思论坛 
www.baisi.net 
1 11 111 1111 
2 22 222 2222 
3 33 333 3333 
4 44 444 4444 
5 55 555 5555 

这样的文件怎么读入数据呢? 
方法有多种,现举两个比较简单实用的。 

方法一: 
A=importdata(file,space,line)
其中,file是所读取的文件名,space是特定的分隔符,line是一个数字,指文本中字符串文字的行数,如上文的数据中line=4。
此代码的含义是,line行是title,line+1行到end是数据,按特定分隔符space读取数据。此方法可以读取文本在上和数据在下的文件。
A是一个sturct,其中A.data就是所需的数据了。
exapmle:
A=importdata('test.txt',' ',4);%运行即可取得数据A.data
 
此方法也可以按以下操作获取:
在文件菜单中选择 file/import data,按照提示进行操作至结束。 
 command 窗口中输入 
>> whos 
Name           Size                   Bytes  Class 

data           5x4                      160  double array 
textdata       4x1                      300  cell array 

Grand total is 54 elements using 460 bytes 

>> data 

data = 

          1          11         111        1111 
          2          22         222        2222 
          3          33         333        3333 
          4          44         444        4444 
          5          55         555        5555 

>> textdata 

textdata = 

   '你好
   '欢迎来到
   '百思论坛
   'www.baisi.net'

方法二: 

[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%d,%f等。 
这里%s的个数和[a1,a2,a3,a4]对应。 
>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 

a1 = 

   '1' 
   '2' 
   '3' 
   '4' 
   '5' 


a2 = 

   '11' 
   '22' 
   '33' 
   '44' 
   '55' 


a3 = 

   '111' 
   '222' 
   '333' 
   '444' 
   '555' 


a4 = 

   '1111' 
   '2222' 
   '3333' 
   '4444' 
   '5555' 
因以字符串的形式读入,所以有'' 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值