csvデータを行列入​れ替えし、なおかつ垂​直方向に連結を複数デ​ータに対してまとめて​行う方法について

25 views (last 30 days)
cho hunseki
cho hunseki on 24 Aug 2022
Commented: cho hunseki on 29 Aug 2022
初心者です。見当違いなことを言っていたら申し訳ありません。
現在2行×n列のcsvデータを多数持っております。
それらcsvデータをn行×2列に変換し、なおかつ垂直方向に連結したいと考えています。
1つずつ行うのであれば、
a = importdata("●●.csv");
b = transpose(a);
c = importdata("××.csv");
d = transpose(c);
e = vertcat(b,d);
上記で出来るのですが、複数データをまとめて処理したいと考えております。
以下中途半端ではありますが、作成したコードになります。
この後どうすれば良いか分からず、また以下も正しいのか今一つ分かりません。
ご教授頂けないでしょうか。
files = dir('*.csv');
for ii = 1:length(files)
tmp = transpose(files(ii).name);
end

Accepted Answer

Hernia Baby
Hernia Baby on 24 Aug 2022
Edited: Hernia Baby on 24 Aug 2022
以下のようにすればいいかと思います。
もちろんvertcatでも同様です。
files = dir('*.csv');
A = [];
for ii = 1:length(files)
tmp = transpose(readmatrix(files(ii).name));
A = [A;tmp];
end
※読み込む関数がなかったので追記しました(readmatrix)。
  7 Comments
Hernia Baby
Hernia Baby on 29 Aug 2022
その場合、どちらの列か選ぶ必要があります。例えば2列目をスペクトル解析する場合はA(:,2)のようにして関数に入れてください。
cho hunseki
cho hunseki on 29 Aug 2022
ありがとうございました。
スペクトログラム作成できました。
行列は対応していないのですね。

Sign in to comment.

More Answers (0)

Categories

Find more on データ型の変換 in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!