複数のファイルを読み込む方法について

22 次查看(过去 30 天)
Hiroki Takeda
Hiroki Takeda 2022-4-7
data_2000_0115.nc4,data_2000_0215.nc4,data_2000_0315.nc4,...,data_2000_1015.nc4,data_2000_1115.nc4,data_2000_1215.nc4
data_2001_0115.nc4,data_2001_0215.nc4,data_2001_0315.nc4,...,data_2001_1015.nc4,data_2001_1115.nc4,data_2001_1215.nc4
...があります(1~12月,2000年以降の1ヶ月ごとのnetcdfデータ)。
このように,複数あるファイルを変数だけ取り出して閉じて,またファイルを開けて...という繰り返しを行いたい時にどのようにすればよろしいでしょうか。
numfiles=9;
for k=1:numfiles
filename=sprintf('data_2000_0%d15.nc4',k)
end
上記のままだと%dに入るのが9までしかできず,10~12月のデータを開くことができません。
上記のような形をベースに考えたいと思っていますが,どのようにすればよろしいでしょうか。
よろしくお願いいたします。

采纳的回答

Hernia Baby
Hernia Baby 2022-4-7
もしフォルダ内にファイル一式がある場合は
tmp = dir('*.nc4');
fname = {tmp.name};
みたいにすれば名前が一気に取得できると思います。
以下参考になります
  4 个评论
Akira Agata
Akira Agata 2022-4-7
+1
sprintf に若干補足です。
以下のようにすると条件分けしなくてもファイル名を生成することができます。
( %02d は、先頭ゼロパディングで2桁の整数として出力することを表しています)
numfiles = 12;
for k = 1:numfiles
filename = sprintf('data_2000_%02d15.nc4', k)
end
filename = 'data_2000_0115.nc4'
filename = 'data_2000_0215.nc4'
filename = 'data_2000_0315.nc4'
filename = 'data_2000_0415.nc4'
filename = 'data_2000_0515.nc4'
filename = 'data_2000_0615.nc4'
filename = 'data_2000_0715.nc4'
filename = 'data_2000_0815.nc4'
filename = 'data_2000_0915.nc4'
filename = 'data_2000_1015.nc4'
filename = 'data_2000_1115.nc4'
filename = 'data_2000_1215.nc4'
Hiroki Takeda
Hiroki Takeda 2022-4-8
すぐの返信をいただきありがとうございました。無事にできました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 入門 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!