dirでリスト化したファイルのデータを1つのファイルにまとめたい。
4 ビュー (過去 30 日間)
古いコメントを表示
list = dir('*.xlsm')%xlsmデータ全てリスト化
for n = 1:length(list)
data{n} = rmmissing(readtable(list(n).name,"sheet",3))%リストのデータ全て読み込み、欠損値行削除
%読み込んだデータ1~n個を1つのファイルに統一したい。
Sum = [data{1};data{2}・・・;data{n}]←どのようなコードを打てばよいかわかりません。
end
上記のSumの完成イメージは、n個の行列データを全て1~n個順番に行が追加される形です。
ファイルの列数は全て同じです。
Sumのコードはどのようなコードになるか教えていただけないでしょうか。
よろしくお願いいたします。
2 件のコメント
Tomohiko
2021 年 8 月 25 日
セル配列に保存された複数の table を連結する場合には、catが使えます。
このとき各tableの要素には、{}でアクセスします。
Sum = cat(1,data{:}); % data のすべての要素を結合
Sum = cat(1,data{1:n}); % data の1番目からn番目までを結合
cat の1番目の入力引数は、結合方向で、1は縦方向の意味です。
なお、連結できるのは、tableの列名が同じであることが前提です。
採用された回答
その他の回答 (1 件)
Hernia Baby
2021 年 8 月 24 日
認識が誤っていたら教えてください
おそらくcell型をdouble型に変えたいのかなと思っています
for i = 1:10
data{i} = rand(5,1)';
end
data'
これをdouble型に変換します
Sum = cell2mat(data')
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!