Re: [討論] 讀取多檔txt倒數某行的值輸出txt(附P幣)
※ 引述《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_*那邊改成你檔案的形式*是檔案編號的部分
%看看這樣能不能成功^^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.174.228
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1517840565.A.D87.html
→
02/05 23:07,
6年前
, 1F
02/05 23:07, 1F
→
02/05 23:08,
6年前
, 2F
02/05 23:08, 2F
推
02/07 14:59,
6年前
, 3F
02/07 14:59, 3F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章