Importing multiple csv files as separate structures

8 views (last 30 days)
I have a folder with several subfolders, each subfolder has several csv files. How do I import each csv file as a structure and put all structures inside one large cell array
  1 Comment
Stephen23
Stephen23 on 9 Jul 2019
"How do I import each csv file as a structure and put all structures inside one large cell array "
Start by looking at the examples in the MATLAB documentation:

Sign in to comment.

Answers (1)

Dheeraj Singh
Dheeraj Singh on 16 Jul 2019
Hi,
I understand that you want to traverse folder which has subfolders, having csv files. You want to read csv files as a structure.
You can use dir to get the files and read files as tables and then convert the tables as structure.
The following code implements the above functionality.
%folder = path to the folder;
D=dir(fold)
%traverse from 3 to numel
for i=3:numel(D)
%subfolder
currD=D(i).folder;
%change directory
cd(currD);
fList=dir(D(i).name);
f=fList.folder;
for j=3:numel(fList)
pa=fullfile(fList(j).folder,fList(j).name);
%read filke as a table
content=readtable(pa);
%convert a table to a structure
content=table2struct(content)
end
%go back to the previous folder
cd(D(i).folder);
end

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!