Re: [讨论] 读取多档txt倒数某行的值输出txt(附P币)

楼主: s871526117 (安安)   2018-02-05 22:22:42
※ 引述《wavek (坏猫咪)》之铭言:
: 自信心大受打击 当完兵变智障
: 现在对程式语言完全不熟QQ
: 有许多问题想请教
: 先描述我想做的东西
: (1)多档读取
: 总共有好几个txt档
: 档案可能约4-16个
: 不过档名有顺序
: 譬如com1,com2,com3...
: 补充:
: 有好几个txt档
: 不过是分别在不同资料夹
: 但资料夹名称是有顺序
: 跟txt档名一样
: (2)
: 每个档案开头有固定行数
: 不重要的中英文字
: (3)
: 不重要的中英文字之后
: 每个档案会有固定三栏 但不固定行数
: 但至少都是千行起跳
: 而我只需要倒数第二行 第三个的资料
: 在此先将此值称为X
: (4)
: 输出一个新的txt档
: 内容是
: 1 X(com1)
: 1 X(com2)
: 1 X(com3)
: .
: .
: .
: https://i.imgur.com/GGj9Ttl.jpg
: 大概是这样
: 然后我目前的进度..
: 遇到个小问题
: https://i.imgur.com/piR4TrB.jpg
: 我连想要随便显示一个值都没办法
: 不知道问题在哪里><
: 已经有爬文了
: 不过弄了满久都完全没进展
: 故上来求救!!!
: 还有环境关系不方便(应该说不能)上网查资料
: 惨惨
: 求开示
: 修改1
: 发现是fopen问题
: 后来加上fopen后没有fid undefined问题
: 但遇上其他问题 无法印出东西
: https://i.imgur.com/UTkHVO3.jpg
: 弄好久没进展头好痛QQ
: 希望有大大可以帮忙解决头痛
: code可以完成任务的
: 愿附上1000P聊表心意
clc;clear;
Files = dir(fullfile(pwd,'Com_*.txt'));
FileNames = {Files.name};
f=cellfun(@fopen,FileNames,'UniformOutput',0);
fout=fopen('Data.txt','w');
n=length(f);
cellfun(@frewind,f);
for i=1:n
while not(feof(f{i}))
s=fgetl(f{i});
if feof(f{i})
break
end
s1=s;
end
d=sscanf(s1,'%f');
fprintf(fout,'%d\t%f\r\n',i,d(end));
end
fclose('all');
%Com_*那边改成你档案的形式*是档案编号的部分
%看看这样能不能成功^^
楼主: s871526117 (安安)   2018-02-05 23:07:00
如果说档案很多的话可能要把fopen、frewind、fclose放进循环中
作者: wavek (狗猫猫 m(OvO)m)   2018-02-07 14:59:00
还是谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com