24小时热门版块排行榜    

汕头大学海洋科学、生物学、生物与医药等3个专业接受调剂
查看: 1173  |  回复: 4

heapyssb

木虫 (著名写手)

[求助] 怎样将txt文件读入到matlab中,谢谢啦

比如有这样的txt文件
>sp|Q9NRA8|4ET_HUMAN E
241  WFSAGPTSQSETIELTGFDDKILEEDHKGRKRTRRRTASVK
>sp|Q9NRA8|4ET_HUMAN E
248  SQSETIELTGFDDKILEEDHKGRKRTRRRTASVKEGIVECN
>sp|Q9NRA8|4ET_HUMAN E
251  ETIELTGFDDKILEEDHKGRKRTRRRTASVKEGIVECNGGV

请问该怎样编写程序来将文件里面的内容读入到matlab中,进行分析?
回复此楼

» 收录本帖的淘帖专辑推荐

source

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zuoyh09

金虫 (正式写手)

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 欢迎参与应助 2011-10-26 19:19:03
heapyssb(金币+3): 谢谢,希望能再详细点 2011-10-27 17:02:47
转引自:http://ncforest.blog.163.com/blo ... 642009102453056325/

文件内容形式一(假定文件名为test1.txt):

你好

欢迎来到

动力学与控制技术论坛

www.dytrol.com

1 11 111 1111

2 22 222 2222

3 33 333 3333

4 44 444 4444

5 55 555 5555

这样的文件怎么读入数据呢?

方法有多种,现举两个比较简单实用的。

方法一:

file/import data....../next/finish

>> 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.dytrol.com'

方法二:

[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)

说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%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'

因以字符串的形式读入,所以有''。

文件内容形式二(假定文件名为test2.txt):

你好

1 11 111 1111

欢迎来到

2 22 222 2222

动力学与仿真控制论坛

3 33 333 3333

www.dytrol.com

4 44 444 4444

5 55 555 5555

说明:这种内容格式的文件用上面的方法是不行的。

以下是由chinamaker编写的一种方法:

fidin=fopen('test2.txt');                               % 打开test2.txt文件            

fidout=fopen('mkmatlab.txt','w');                       % 创建MKMATLAB.txt文件

while ~feof(fidin)                                      % 判断是否为文件末尾              

    tline=fgetl(fidin);                                 % 从文件读行  

    if double(tline(1))>=48&&double(tline(1))<=57       % 判断首字符是否是数值

       fprintf(fidout,'%s\n\n',tline);                  % 如果是数字行,把此行数据写入文件MKMATLAB.txt

       continue                                         % 如果是非数字继续下一次循环

    end

end

fclose(fidout);

MK=importdata('MKMATLAB.txt');      % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来

>> MK

MK =

           1          11         111        1111

           2          22         222        2222

           3          33         333        3333

           4          44         444        4444

           5          55         555        5555
2楼2011-10-25 17:24:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zuoyh09

金虫 (正式写手)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-10-28 00:45:05
heapyssb(金币+2): 谢谢 2011-10-28 17:34:16
下面的程序可以完成读txt数据,需要注意的是,在txt中不能有空行。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
fidin=fopen('data.txt'); % 打开data.txt文件
fidout=fopen('vr.txt','w'); % 创建vr.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
% disp(tline)
if double(tline(1))>=48 && double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件vr.txt
continue % 如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('vr.txt'); % 将生成的vr.txt文件导入工作空间,变量名为MK,实际上它不显示出来
3楼2011-10-27 22:36:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


xzhdty(金币+1): 欢迎讨论交流 2011-10-28 07:36:10
引用回帖:
1楼: Originally posted by heapyssb at 2011-10-25 14:38:15:
比如有这样的txt文件
>sp|Q9NRA8|4ET_HUMAN E
241  WFSAGPTSQSETIELTGFDDKILEEDHKGRKRTRRRTASVK
>sp|Q9NRA8|4ET_HUMAN E
248  SQSETIELTGFDDKILEEDHKGRKRTRRRTASVKEGIVECN
>sp|Q9NRA8|4ET_HUMAN E
...

格式标准的,可以直接load(test.txt),
你这样的如果load进来格式不正确
还是用fopen打开后fscanf函数读取好点
具体函数用法help会讲的很详细的
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2011-10-28 00:54:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦在潇湘

铁杆木虫 (著名写手)

这些在help中都详细讲述的
5楼2012-04-23 13:18:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 heapyssb 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 数二英二,总分276,求化工导师收走 +8 张智翔11 2025-04-07 9/450 2025-04-07 21:24 by fraser0815
[考研] 292求调剂 +7 2025417 2025-04-06 7/350 2025-04-07 20:41 by chenzhimin
[考研] 材料科学与工程290求调剂 +27 双马尾痞老板2 2025-04-04 28/1400 2025-04-07 19:17 by 啥南丹你的梦想�
[考研] 一志愿中南总分341材料与化学专业085600求导师捞一下 +6 Lera1224 2025-04-04 8/400 2025-04-07 17:31 by lijunpoly
[考研] 08求调剂,有学上就行 +5 玖月55 2025-04-07 7/350 2025-04-07 17:13 by 214651537
[考研] 282求调剂 +10 干活计刚刚 2025-04-02 10/500 2025-04-07 16:51 by 杨杰123
[基金申请] 山东省自然科学基金面上项目实行依托单位限额申报 +12 凡尘清泉 2025-04-03 22/1100 2025-04-07 12:45 by RRRKKK
[教师之家] 省属双非院校教授跳槽 +7 sgtosw 2025-04-01 11/550 2025-04-07 08:23 by edgexjy
[考研] 284求调剂 +4 变态小阿姨 2025-04-06 4/200 2025-04-06 21:52 by lijunpoly
[考研] 298求调剂 +16 研要上啊 2025-04-05 17/850 2025-04-06 16:32 by dick_runner
[考研] 086100交通运输专硕291求调剂 +3 lllllllnnnn 2025-04-05 3/150 2025-04-06 16:28 by zsg5560
[基金申请] 面上项目一般是几位通讯评审专家? +10 443933501 2025-04-01 12/600 2025-04-06 09:49 by xnyys
[考研] 0856(材料工程)368求调剂 +13 Bovenz 2025-04-04 14/700 2025-04-06 01:06 by Ade.
[考研] 272求调剂 +7 Aaa求调剂 2025-04-04 12/600 2025-04-05 16:27 by 褚迎松小小
[考研] 调剂!一志愿郑大283材料与化工专硕 +6 不吃香菜菜菜 2025-03-31 9/450 2025-04-03 19:35 by 13137570862
[考研] 344求调剂 +3 萌新吃席 2025-04-02 3/150 2025-04-03 14:55 by fmesaito
[考研] 302分求调剂 +4 绵绵。。。。 2025-04-03 4/200 2025-04-03 10:28 by Mornach1988
[考研] 材料与化工310求调剂院校 +18 五毛冰淇淋a 2025-04-01 20/1000 2025-04-02 23:19 by 星空星月
[考研] 0703化学调剂 +3 哈哈哈@. 2025-04-02 3/150 2025-04-02 19:27 by 噬血摄魂
[考研] 085500数一英一求调剂283 +3 忧郁的番茄! 2025-04-01 3/150 2025-04-01 14:12 by z648054048
信息提示
请填处理意见
濠㈣泛绉烽惁顖滄嫬閸愩劌顣�濠㈣泛绉烽惁顖滄嫬閸愩劌顣�
濠㈣泛绉烽惁顖滄嫬閸愩劌顣�濞存粌鐬煎ǎ顕€鎯嶉敓锟�闁兼儳鍢茶ぐ鍥ㄥ緞瀹ュ牏妲� & 閻犲鍟晶蹇涘箰閸パ冪闁挎冻鎷�鐎甸偊鍠曟穱濠囧箥椤愶紕顏遍柟纰夋嫹
闁哥喎妫楁慨鐔煎触閸粎绋�闁哥喎妫楁慨鐔煎触閸粎绋�
闁哥喎妫楁慨鐔煎触閸粎绋�濞存粌鐬煎ǎ顕€鎯嶉敓锟�闁哥喎妫楁慨鐔煎触閸粎绋婇柛婧垮姀椤曪拷鐎甸偊鍠曟穱濠囧箥椤愶紕顏遍柟纰夋嫹(濠㈣泛娲﹂弫鐐烘晬濮橆剚娅岄柛鏂衡偓铏€ゅù锝忔嫹)
閻庢冻闄勫﹢鎶界嵁閼艰埖褰�閻庢冻闄勫﹢鎶界嵁閼艰埖褰�
閻庢冻闄勫﹢鎶界嵁閼艰埖褰�濞存粌鐬煎ǎ顕€鎯嶉敓锟�鐎甸偊鍠曟穱濠囧箥椤愶紕顏遍柟纰夋嫹濞存粌妫滆闁哄牃鍋撻柡鍌涙緲椤掔喖寮甸姘彙閻犳劧鎷�
閻犱胶鍎ら弸鍐╂綇閸涱収鍤�閻犱胶鍎ら弸鍐╂綇閸涱収鍤�
閻犱胶鍎ら弸鍐╂綇閸涱収鍤�濞存粌鐬煎ǎ顕€鎯嶉敓锟�鐎甸偊鍠曟穱濠囧箥椤愶紕顏遍柟纰夋嫹婵烇綀顕ф慨鐐烘嚀娴e摜鐟庨柨娑樿嫰閸樸倗鎷归悷鐗堝皰閻犲浄鎷�
閻㈩垰鐗愮粊顐﹀箯濞戞ê鐝�閻㈩垰鐗愮粊顐﹀箯濞戞ê鐝�