dirでリスト化した​ファイルのデータを1​つのファイルにまとめ​たい。

조회 수: 10 (최근 30일)
丈太郎 森川
丈太郎 森川 2021년 8월 24일
답변: 丈太郎 森川 2021년 8월 26일
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
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の列名が同じであることが前提です。
丈太郎 森川
丈太郎 森川 2021년 8월 25일
편집: 丈太郎 森川 2021년 8월 25일
Sum = cat(1,data{1:n}); % data の1番目からn番目までを結合
↑のコードでできました。
ありがとうございました。

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

채택된 답변

丈太郎 森川
丈太郎 森川 2021년 8월 26일
Tomohiko 2021 年 8 月 25 日 0:40
セル配列に保存された複数の table を連結する場合には、catが使えます。
このとき各tableの要素には、{}でアクセスします。
Sum = cat(1,data{:}); % data のすべての要素を結合
Sum = cat(1,data{1:n}); % data の1番目からn番目までを結合
cat の1番目の入力引数は、結合方向で、1は縦方向の意味です。
なお、連結できるのは、tableの列名が同じであることが前提です。

추가 답변 (1개)

Hernia Baby
Hernia Baby 2021년 8월 24일
認識が誤っていたら教えてください
おそらくcell型をdouble型に変えたいのかなと思っています
for i = 1:10
data{i} = rand(5,1)';
end
data'
ans = 10×1 cell array
{[0.7020 0.2496 0.4885 0.6533 0.2591]} {[0.9453 0.8824 0.9361 0.6024 0.2983]} {[0.0694 0.3783 0.4091 0.1078 0.2183]} {[0.7530 0.9987 0.1000 0.3895 0.3633]} {[0.3407 0.2943 0.9984 0.5362 0.8615]} {[0.6348 0.2916 0.1080 0.3106 0.3706]} {[0.9303 0.6093 0.6922 0.7308 0.4329]} {[0.4152 0.2810 0.9822 0.0390 0.1216]} {[0.2842 0.8025 0.8216 0.6854 0.9765]} {[0.3702 0.7479 0.4197 0.0026 0.3375]}
これをdouble型に変換します
Sum = cell2mat(data')
Sum = 10×5
0.7020 0.2496 0.4885 0.6533 0.2591 0.9453 0.8824 0.9361 0.6024 0.2983 0.0694 0.3783 0.4091 0.1078 0.2183 0.7530 0.9987 0.1000 0.3895 0.3633 0.3407 0.2943 0.9984 0.5362 0.8615 0.6348 0.2916 0.1080 0.3106 0.3706 0.9303 0.6093 0.6922 0.7308 0.4329 0.4152 0.2810 0.9822 0.0390 0.1216 0.2842 0.8025 0.8216 0.6854 0.9765 0.3702 0.7479 0.4197 0.0026 0.3375

카테고리

Help CenterFile Exchange에서 ファイルの操作에 대해 자세히 알아보기

태그

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!