How to read Multiple CSV files in multiple sub folders
Show older comments
Hi,
I want to read multiple csv files in a subfolder(s). I have a main folder, in this main folder many sub folders (here two). I want to read each sub folder, and merge all csv in that subfolder. The merged CSV file name should be the respective subfolder name.
I use the following code, but I am unable to proceed after that, I do not know how to read each subfolder and merge the CVS files.
After merged, I want to read each CSV from output folder, and extract the data in column E (Score).
Kindly some one help.
clc;
clear all;
close all;
inputFolder='D:\Mekala_Backupdata\Matlab2010\InputData';
outputFolder='D:\Mekala_Backupdata\Matlab2010\OutputData';
expList=dir(inputFolder);
isub=[expList(:).isdir];
expID={expList(isub).name};
Accepted Answer
More Answers (2)
J. Webster
on 28 Apr 2016
Not sure exactly how you want to merge the csvs, but the basic way to run through all the directories is this...
inputFolder='D:\Mekala_Backupdata\Matlab2010\InputData';
cd(inputFolder);
directories = getDirs()
for i=1:length(directories);
mergeFilename = strcat(directory(i).name,'.csv'); %new filename is subfolder name with csv extention.
cd(directory(i).name);
files = dir('*.csv'); %you want just .csv
for j=1:length(files)
...merge your csv files here...
end
cd ..; % or cd(inputFolder);
end
Meade
on 2 Mar 2017
This may get you started:
mainFolder = uigetdir(); % Selectyour Main folder
[~,message,~] = fileattrib([mainFolder,'\*']);
fprintf('\n There are %i total files & folders.\n',numel(message));
allExts = cellfun(@(s) s(end-2:end), {message.Name},'uni',0); % Get exts
CSVidx = ismember(allExts,'csv'); % Search ext for "CSV" at the end
CSV_filepaths = {message(CSVidx).Name}; % Use CSVidx to list all paths.
fprintf('There are %i files with *.CSV exts.\n',numel(CSV_filepaths));
for ii = 1:numel(CSV_filepaths)
file(ii)= importdata(CSV_filepaths{ii}) % Your parsing will be different
end
Categories
Find more on Workspace Variables and MAT Files in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!