MATLAB Answers

How to make calculations between two specific files via loop?

1 ビュー (過去 30 日間)
Ivan Mich
Ivan Mich 2021 年 3 月 12 日
コメント済み: Ivan Mich 2021 年 3 月 12 日
Hello,
I have a question about a code. I have in a directory some .xlsx files and some .txt files. I want to make calculations between xlsx files and .txt files. The problem is that I want to make these calculations via a loop depending on the name characters.
I want my code to
1)Read xlsx files and txt files
2)Make calculations between files that have only the same 4 characters of their name (for example one file has name: 'AGR3upto10km.xlsx' and the one other 'AGR3upto10kmmeano10km.txt' - I mean "AGR3")
I want to do operations only between files that have the first 4 characters in their names same. After that I want to find the other two characters with the same 4 characters in their name and make operations etc..
I use importdata for .txt and xlsread for .xlsx files
Could you please help me?
  2 件のコメント
Ivan Mich
Ivan Mich 2021 年 3 月 12 日
Look, I have as I said multiple .txt and .xlsx files. I want to take 2 files (one .txt and one .xlsx) that have same 4 charactres of their name. (Lets say 'AGR3upto10km.xlsx' and the one other 'AGR3upto10kmmeano10km.txt' ) . after that I want to take files 'GRA3upto10km.xlsx' and the one other 'GRA3upto10kmmeano10km.txt' and make calculations. etc

サインインしてコメントする。

採用された回答

Jan
Jan 2021 年 3 月 12 日
Folder = 'C:\Your\Folder';
XLSList = dir(fullfile(Folder, '*.xlsx'));
TXTList = dir(fullfile(Folder, '*.txt'));
TXTName = {TXTList.name};
for k = 1:numel(XLSList)
name = XLSList(k).name;
match = strncmp(TXTName, name(1:4), 4);
if nnz(match) ~= 1
fprintf('No unique match for %s\n', name);
continue;
end
TXTFile = fullfile(Folder, TXTName{natch});
XLSFile = fullfile(Folder, name);
... Now do what you want with them
end

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by