ループ内でテーブルを番号つきで管理する方法

フォルダ内のdatファイルをすべて読み込み、fie1,fie2...というtableで管理したいのですが
知恵をいただけないでしょうか。
datFileList = dir(['*.dat']);
datNum = size(datFileList);
kk = 1;
for kk = 1 : datNum(1)
disp(kk)
datFileName = char(datFileList(kk).name); % char型に変換
HeaderlinesIn=6;
tmp = importdata(datFileName,'\t',HeaderlinesIn); %headerと数値を分けてimport
headname=strrep(tmp.colheaders,'%','percent'); %headerの名前の調整、%は変数名として使えないので
vcell = genvarname(headname); %変数名がかぶらないように処理
fie{kk}= array2table(tmp.data,'VariableNames',vcell); %変数と数値を合わせてtable化
end

 채택된 답변

Kazuya
Kazuya 2019년 6월 15일

0 개 추천

dat ファイル1つ1つの読み込み結果を、 fie1, fie2, ... という table 変数にするということですね?それであれば eval 関数でできそうですが、下記ページのよるとあまりお勧めでは無いようですのでご注意を。。
fie{kk}= array2table(tmp.data,'VariableNames',vcell); %変数と数値を合わせてtable化
のところを
tmp2 = array2table(tmp.data,'VariableNames',vcell); %変数と数値を合わせてtable化
eval(['fie', int2str(kk),' = tmp2;']);
に変更すればOKなはず。

댓글 수: 1

Kog
Kog 2019년 6월 17일
お返事遅くなり申し訳ありません。
eval関数ですが、ちらっと当該ページのヘルプを読んだのですが、何が悪いのかわからなかったです…。
当面自分のほうこちらで問題ありませんので、使われていただくと思います!
ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 table에 대해 자세히 알아보기

제품

태그

질문:

Kog
2019년 6월 14일

댓글:

Kog
2019년 6월 17일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!