Change variable name in a loop

Hi,
I have multiple excel table data, that are imported to MATLAB in a loop function.
csvFiles = dir('*.csv');
numfiles_csv = length(csvFiles)
for a = 1:numfiles_csv
readtable(csvFiles(a).name)
end
I wish to name each table with numbers (e.g. table1, table2, etc.).
Currently when i run the code, all the tables are shown with a output name 'ans', which is preventing me from further allocation task.
thanks.

3 Comments

Stephen23
Stephen23 on 29 Aug 2020
Edited: Stephen23 on 29 Aug 2020
"Currently when i run the code, all the tables are shown with a output name 'ans', which is preventing me from further allocation task"
The MATLAB documentation shows how to import files into a cell array (which is what you should do):
"I wish to name each table with numbers (e.g. table1, table2, etc.)."
That approach is not recommended, you should avoid doing that:
Thank you Stephen for the comment.
As you have mentioned i also tried using the upper link you have provided.
csvFiles = dir('*.csv');
numfiles_csv = length(csvFiles)
mydata_csv = cell(1,numfiles_csv)
for a = 1:numfiles_csv
mydata_csv{a} = readtable(csvFiles(a).name)
end
Could you please provide me with links or examples how i could make the tables visible,
instead of having output like the following:
mydata_csv = 1×2 cell array
{301×2 table} {104853×12 table}
thanks
"Could you please provide me with links or examples how i could make the tables visible,"
mydata_csv{1} % the 1st table
mydata_csv{2} % the 2nd table
mydata_csv{3} % the 3rd table
...etc

Sign in to comment.

Answers (1)

Tables{a} = readtable(csvFiles(a).name)

1 Comment

Hi Matt, thanks for the reply.
I have tried that already. But the result that i receive is as following:
Tables = 1×2 cell array
{301×2 table} {104853×12 table}
Is there a secondary coding needed to make the table itself visible?

Sign in to comment.

Categories

Asked:

on 29 Aug 2020

Commented:

on 29 Aug 2020

Community Treasure Hunt

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

Start Hunting!