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 个评论

Stephen23
Stephen23 2020-8-29
编辑:Stephen23 2020-8-29
"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

请先登录,再进行评论。

回答(1 个)

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

1 个评论

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?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by