apollogod 发表于 2009-3-10 23:20

如何用textread分批读取TXT中的数据

如何用textread分批读取TXT中的数据,并且把处理后的数据存在同一个CELL里面?

[ 本帖最后由 ChaChing 于 2009-3-11 13:17 编辑 ]

hanihaoma 发表于 2009-3-10 23:22

help textread直接用load 不行吗? 保存 可以直接用save

你这里要求数据精度吗?

[ 本帖最后由 ChaChing 于 2009-3-11 07:42 编辑 ]

ChaChing 发表于 2009-3-11 07:43

Ref:
http://forum.vibunion.com/forum/viewthread.php?tid=45622&highlight=

[ 本帖最后由 ChaChing 于 2009-3-11 13:23 编辑 ]

apollogod 发表于 2009-3-11 09:20

回复 沙发 hanihaoma 的帖子

txt中全是字符串,大体格式是,600多万行,3列,所以我只能分批读取,save和load试过了,不好

ChaChing 发表于 2009-3-12 13:14

600多万行,3列!?
好奇, 到底什麽工程问题?

friendchj 发表于 2009-3-12 16:12

回复 楼主 apollogod 的帖子

help fgetl

ydlcsu 发表于 2009-3-12 16:33

用fgetl来处理600w行的文本,速度可能会很慢很慢啊,matlab做循环的效率太低了。。

ChaChing 发表于 2009-3-12 22:14

刚刚故意产生aa=rand(6000000,3); save zzz.txt aa -ascii
然後load进来, 时间久些, 没问题, 为何需分批读取?

friendchj 发表于 2009-3-13 09:37

回复 7楼 ydlcsu 的帖子

fid=fopen('data.txt','r');
A=textscan(fid,'%s %s %s',3);
读取前三行,具体help textscan

ydlcsu 发表于 2009-3-13 13:10

我的确没注意到textscan函数还有控制读取行数这么一个参数。有了这个参数,lz的问题应该比较好解决了。按你机子的能力读入适当的行数的数据再进行处理。
我以前读取的数据一行的数据点太多,而且个数不确定,所以就放弃了用textscan这个函数来处理了,否则不知道要写一个多长的textscan命令出来,:lol
页: [1]
查看完整版本: 如何用textread分批读取TXT中的数据