数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 7251|回复: 6

Matlab数据导入问题

  [复制链接]
发表于 2013-4-26 13:34:54 | 显示全部楼层 |阅读模式
请问各位,matlab中数据导入的时候如果txt文件中(内容如下)除了数字还有一些不想要的行(如下前六行),怎么去除前六行?(需要上百个类似文件的导入,能够批量修改么?)
ncols         250
nrows         500
xllcorner     130.0
yllcorner     0.0
cellsize      0.1
NODATA_value  -9999
0.00  0.00  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.10  0.00  0.00  0.00  0.00  0.10  0.00  0.00  0.00  0.00  0.00  0.00  0.00
发表于 2013-4-26 18:27:51 | 显示全部楼层
Matlab不会,如果是用Python,很容易处理。
不过,如果确定是前6行不要,不管用什么语言应该都不难吧,读进来,再去掉不要的就行了吧。
 楼主| 发表于 2013-4-26 20:28:38 | 显示全部楼层
Matlab不会,如果是用Python,很容易处理。
不过,如果确定是前6行不要,不管用什么语言应该都不难吧,读进 ...
sofoot 发表于 2013-4-26 18:27

主要是文件太多,想要用个循环的,不太会写……
 楼主| 发表于 2013-4-26 20:32:21 | 显示全部楼层
Matlab不会,如果是用Python,很容易处理。
不过,如果确定是前6行不要,不管用什么语言应该都不难吧,读进 ...
sofoot 发表于 2013-4-26 18:27


下面这个语句怎么改一下,能使3~127的MK数组都保存下来?
 楼主| 发表于 2013-4-26 20:35:21 | 显示全部楼层
for i=3:129
fidin=fopen(file(i).name);                               % 打开test2.txt文件            
fidout=fopen(['m' 'file(i).name'],'w');                       % 创建MKMATLAB.txt文件
while ~feof(fidin)                                      % 判断是否为文件末尾               
    tline=fgetl(fidin);                                 % 从文件读行   
    if double(tline(3))>=48&&double(tline(3))<=57       % 判断首字符是否是数值
       fprintf(fidout,'%s\n\n',tline);                  % 如果是数字行,把此行数据写入文件MKMATLAB.txt
       continue                                         % 如果是非数字继续下一次循环
    end
end
发表于 2013-4-27 18:07:56 | 显示全部楼层
这段代码应该可以吧,不能用吗?
 楼主| 发表于 2013-4-27 18:39:40 | 显示全部楼层
回复 6# sofoot
嗯嗯,现在能用了,刚才是想把里面一些东西去掉~
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-30 05:29 , Processed in 0.057728 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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