Changing file path and load multiple files

7 Ansichten (letzte 30 Tage)
Ancalagon8
Ancalagon8 am 26 Feb. 2023
Bearbeitet: Ancalagon8 am 6 Jan. 2025 um 21:38
I have some folders where i have saved several files where code changes and I need to load each file. I need help

Akzeptierte Antwort

Image Analyst
Image Analyst am 26 Feb. 2023
Use a file data store fileDatastore
% Specify the top level folder.
topLevelFolder = pwd; % Wherever it is....
% Process a sequence of files.
filePattern = fullfile(topLevelFolder, '*.xls*');
fds = fileDatastore(filePattern, 'ReadFcn',@readtable) % Create an image Datastore
% Get all filenames into one cell array. Filenames have the complete path (folder prepended).
allFileNames = fds.Files;
numFiles = numel(fds.Files);
for k = 1 : numel(allFileNames)
% Get this file name.
fullFileName = allFileNames{k};
fprintf('Processing %s\n', fullFileName);
% Now do something with fullFileName, such as passing it to readtable().
end
  2 Kommentare
Image Analyst
Image Analyst am 27 Feb. 2023
Bearbeitet: Image Analyst am 27 Feb. 2023
If you don't want the order the operating system gives you, then you can have for loops over code and year and build up the filename with sprintf().
Image Analyst
Image Analyst am 1 Mär. 2023
Yes, you just load the workbook file into the "data" variable and then you never do anything with data. Plus on every iteration data is overwritten by the current workbook so at the very end you'll only have data from the very last workbook. If you want to do something with data, then do so. If you also want to save it for use later, outside the loop, then you'll need to save it somehow, like in a cell array.
data{k} = readtable(fullFileName);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by