How to make calculations between two specific files via loop?

2 次查看(过去 30 天)
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 个评论
Jan
Jan 2021-3-12
"After that I want to find the other two characters with the same 4 characters in their name and make operations etc.."
I do not understand this sentence.
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 个)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by