24小时热门版块排行榜    

查看: 2307  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

见贤思齐

铁杆木虫 (著名写手)

[求助] 200多个txt文件matlab读取问题

求助大神,本人手上有200多个txt文件,想用matlab读取后写入excel中,主要问题是txt文件从第五行开始才有想要的数据,并且每行只想用其中第1、3、4、7列,其他的列数不需要。
请问该用哪些函数,最近才开始学习MATLAB,还请版上的老虫们指教!
回复此楼

» 猜你喜欢

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

囊有钱仓有米腹有诗书
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
2楼: Originally posted by dbb627 at 2012-11-16 09:37:09
可以用textread  其中headerlines 可设置从开头算起忽略行

试了一下,可以做到,但是想把读取的所有数据放到同一个excel中,不知道该怎么实现。
囊有钱仓有米腹有诗书
3楼2012-11-16 22:15:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
5楼: Originally posted by blesswj at 2012-11-17 14:56:27
但是如果txt文本中的内容格式如果十分规范,使用上面几楼的说法就容易处理,如果格式不规范的话,还是挺麻烦的。如果格式不规范你可以使用importdata命令,把数据先导入到matlab变量中,形成矩阵,然后矩阵操作就很 ...

关键是文件太多,一个个import的话估计要几个小时,而且文件名都很长,昨天晚上用cmd批量改文件名也没有成功。。。
囊有钱仓有米腹有诗书
6楼2012-11-17 16:13:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
7楼: Originally posted by blesswj at 2012-11-17 19:46:45
文件多的话,如果文件名有顺序的话,你用个循环就可以一个个读取了,如果文件名较乱,你直接在windows下全选,然后F2全名改名,修改后的文件名就哟顺序了!你试试吧。

试了一下,F2只能修改其中的一个
囊有钱仓有米腹有诗书
8楼2012-11-17 23:22:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
7楼: Originally posted by blesswj at 2012-11-17 19:46:45
文件多的话,如果文件名有顺序的话,你用个循环就可以一个个读取了,如果文件名较乱,你直接在windows下全选,然后F2全名改名,修改后的文件名就哟顺序了!你试试吧。

而且我的文件命名有一定的规律,最中间的8个字符是一样的,我把文件名全部提取出来了,然后用CMD运行bat重命名文件,但是还是改不了。

F2的那种方法更是行不通!
囊有钱仓有米腹有诗书
9楼2012-11-17 23:25:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
11楼: Originally posted by redplum at 2012-11-22 17:17:28
txt文件中数据的格式是有说道的,特别是大量的数据

还请赐教!
囊有钱仓有米腹有诗书
12楼2012-11-26 20:50:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

见贤思齐: 回帖置顶 2012-12-11 10:00:16
引用回帖:
13楼: Originally posted by mei3014 at 2012-11-27 12:06:54
根据前面的回答,一个文件的数据提取你应该会了吧,多个有规则命名的文件的数据提取可以参考下个帖子:
http://muchong.com/bbs/viewthread.php?tid=5210895
还不明白的可以再问!

一个数据提取还不算是全会,因为我只能提取第2、3的数据,第9、10列的日期时间格式数据还是没办法提取,刚开始是提示txt文件中的变量有问题(可能是matlab不识别这样的日期时间格式吧)
我就是想把附件中的数据从第5行开始,提取其中的2、3、7、8(或者7、8算一列,也可能算很多列,反正就是日期和时间的那列)
由于文件有好几百个,所以特别希望能够能够写个代码把名字改了,这些文件名太长了,我只需要中间的日期就行了。(其实每个文件的第二行也有日期的信息,按照那个改也行)
改名字以后就一个个把这些txt文件的数据提取到同一个excel文件中,这样就有日期时间和那两列数据了,然后就可以用这一大堆数据和其他相应的资料作图了,关键是俺现在连单个文件都还不怎么会读取,之前又没有学过C语言,感觉啥都不会,所以循环什么的看都看不懂!还在啃C语言呢。。。。

附自己的写的代码:

[a1,b1]=textread('_Res.txt','%*s %f %f %*f %*[^\n]',-1,'headerlines',4)

未命名.jpg

囊有钱仓有米腹有诗书
14楼2012-11-27 16:13:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

见贤思齐

铁杆木虫 (著名写手)

引用回帖:
15楼: Originally posted by 363418323 at 2013-12-05 10:34:58
不用上面说的那样,换一种思路。先全部把数据读取出来,到内存后,在处理起来容易的多,不需要在读的时候就精确的读。
在内存后,你可以打开数据看看哪些想要,把不想要的直接删掉,不用写程序,对,直接删掉就可以 ...

就是因为文件太多了!!!
囊有钱仓有米腹有诗书
16楼2013-12-07 12:52:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 见贤思齐 的主题更新
信息提示
请填处理意见