Importing folder of .csv files and saving them as variables with different names.

I have a folder of 90 .csv files and i want to bring them all into matlab one after the other and save them as vairables and each one have a different name.
Can somebody give me some template code to do this please.
Thanks

Answers (1)

d='E:\matlab' % your folder
f=dir([d '\*.csv'])
for k=1:numel(f)
data{k}=xlsread(f{k}.name);
end
If you want the data from the third file:
data{3}
Do not use a variable for each file.

6 Comments

Thanks, I will try this.
Is there any bits that I need to specify to my files? Like the directory in the first line?
Thanks again
Bits? Like 32 bits or 64 bits? No. You can have the directory be wherever you want it (that you have permission to write to).
no, no no, sorry! By bits I just meant what parts do I need to change when I use this code?
Thanks
I changed the first line to my file where I have all of my .csv files. I then put all the code exactly how you wrote it.
However I get this error: Cell contents reference from a non-cell array object.
Any Ideas?
Hi, Did you get an answer for your question? I am also searching for the same.
What would be the easiest way about horizontally concatenating data tables saved in a cell array like above? I don't want to hard code it because the length of the cell array is subject to change. Essentially from above I have a resulting 1 * 8 cell array with tables of varying # of cols but same amount of rows. I wish to combine all the data from these files by the function join using the column "ID".
Thanks!

Sign in to comment.

Asked:

BOB
on 14 May 2014

Edited:

on 17 Jul 2018

Community Treasure Hunt

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

Start Hunting!