如何读取此类带文件头的文档?
读取 头文件的各项信息,: 的前后值,并将后面的数据赋值给 info 数组。哪位有此经验?
目前使用:
this_path = 'ttt.txt';
head = dlmread(this_path,':',);
info = dlmread(this_path,' ',);
首行有一个空行。
用 第一句 来单读文件头,好像只能读取数字,不然会报错,字符无法读取。help dlmread 说 reads numeric data,有别的读字符的类似函数吗?
第二句倒是可以,如果读取 500*500 的数据,还有什么更好的建议吗?
文件如:ttt.txt
Type: txt
Data: 20080326
Who: abc
Info:
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 1 8 9 10
4 5 6 7 8 1 2 3 9 10
顺便报个论坛的BUG
刚好像 post.php 报错了,可能是 单引号引起的。但发现帖子倒是发上来了。请测试!可能是 info = dlmread(this_path,' ',); 中的 两个单引号。
此帖再试试。
------- 这次没问题。不解。 dlmread只支持数字读取,帮助文件里面有提示的 doc dlmread 注意note 所以想问问有没有能读字符的类似函数? 原帖由 doublewu25 于 2008-4-4 19:39 发表 http://www.chinavib.com/forum/images/common/back.gif
所以想问问有没有能读字符的类似函数? 看精华帖 如果你的Txt文档的格式是整齐并且基本不变的话,可以使用下面的参考程序
fp=fopen(FileName,'r');%打开你指定的文件
while ~feof(fp) %不断读取每一行数据
tline = fgets(fp); %将该行字符串赋给tline
for m=1:4 %这个循环指跳过四行后再读取数据,有时用得到
tline = fgets(fp);
end
T = str2double(tline(26:39)); %将其中的某段字符转换为双精度数,T为你要的数据
end
fclose(fp);
上面的程序只是参考,具体使用时根据需要改变。希望对你有帮助。:lol 建议使用xlsread/xlswrite ,txt的读写不方便 我觉得用importdata很好啊,
文本用的是空格隔开的,那么语句
x=importdata('ttt.txt',' ',4);如果用逗号隔开的,第二个参数里面',';第三个参数是去掉前面几行 谢谢各位!
其实我主要还是想要读 文件头的信息,包括 字符 和数字。MATLAB 在这种不同类型的情况下,就不方便了。我已通过其它途径解决。
页:
[1]