Re: [問題] 請問大量匯入資料到matlab或.mat中已回收
※ 引述《DennisTang ()》之銘言:
: 我有很多筆*.txt的數據
: 其檔名是有序的 例如是
: 1.txt
: 2.txt
: 3.txt
: ......
: 100.txt
: 我希望把他們匯入到matlab中作運算
: 所以想把這些txt檔先作成*.mat
: 我現在由這些*.txt產生*.mat的方法是一個一個用滑鼠拉進matlab中
: 然後再把worspace中的物件另存新檔
: 但是*.txt檔一多時就變成非常麻煩
: 請問有沒有辦法用迴圈的方式反覆匯入呢?
clc;clear;
for i=[1:100]
temp=load(['C:\...\...\',num2str(i),'.txt']);
save(['C:\...\...\',num2str(i),'.mat'],'temp');
end
通常路徑中有包含變數可用 num2str(變數) 引入路徑
但要在路徑外面的引號再追加一個中括號全部包起來
如果沒引用變數 中括號可省略
and
如果 1~100.txt 有跳號的話, 例如1~1000.txt 其中沒有335.txt,127.txt
但你事前沒有明察 for迴圈執行到此會發現沒有檔案 讀取錯誤 出現error中斷
此時可追加 test=exist(['C:\...\...\',num2str(i),'.txt']);
用exist語法去把該檔案的存在狀態數值化存入任意變數test (輸出=0 表不存在)
你就可以用 if (test~=0)來決定要不要進入load,save之類的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.69.72.69
→
01/22 22:11, , 1F
01/22 22:11, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章