1

私は MATLAB にかなり慣れていないので、完全に間違っていることを言っている場合はご容赦ください。拡張子が .xlsx の特定のディレクトリからファイルを読み取り、列をベクトルに割り当てる小さなプログラムを作成しようとしています。ファイル名を手動であきらめると、プログラムは次のようになります。

files = {'130926','130927'}
file_number = 1;
file_amount = length(files);
while file_number <= file_amount
file_name = files(file_number);
cd('C:\place_where_I_store_my_files');
A = xlsread(char(strcat(file_name)));
J = A(:,1);
J_sp = A(:,2);
file_number = file_number + 1
end

ファイルを自動的に読み込むために、さまざまなことを試しました。

files = {'*.xlsx'}

しかし、それはすべてエラーを引き起こします。読んでくれてありがとう。

マティアス

4

3 に答える 3

1

dirワイルドカード検索で関数を使用します。

my_path = 'C:\place_where_I_store_my_files';
xlsfiles = dir(fullfile(my_path, '*.xlsx'));
for ii = 1 : length(xlsfiles)
  disp(fullfile(my_path, xlsfiles(ii).name));
end

上記のコードは、指定したディレクトリ内のすべてのxlsxファイルの名前を表示します。

于 2013-09-27T18:39:30.170 に答える
0

参考までに、これは私のためにそれをしました:

files = dir('C:\Users\Matthias\Desktop\KUL\2e_Master\Thesis\MBR_data\MBR_online\*cs.xlsx')
file_number = 1;
file_amount = length(files);
while file_number <= file_amount
file_name = files(file_number).name;
cd('C:\place_where_I_store_my_files');
A = xlsread(char(file_name));
J = A(:,1);
J_sp = A(:,2);
file_number = file_number + 1
end

ごきげんよう、 マティアス

于 2013-10-10T10:43:19.543 に答える