to read multiple csv files

4 views (last 30 days)
sarfudeen on 15 Oct 2014
Answered: Ken Atwell on 15 Oct 2014
I used the following code for reading the multiple csv files but for the execution it takes too much of time.
My code is as follows:
[files,path] = uigetfile('*.csv', 'MultiSelect','on');
FileName = fullfile(path,file);
fmt = '%s%s%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%';
num = length(FileName);
data = cell(1,num);
for i = 1 : num
fid = fopen(FileName{i},'r');
data(i) = textscan(fid,fmt,'Delimiter',',',CollectOutput',1);
Hence sort out this and help me in this bug at the earliest...
Regards, M. Sarfudeen

Answers (1)

Ken Atwell
Ken Atwell on 15 Oct 2014
How many files are we talking about, and how big is each file?
If you have R2014b, you may want to check out the new datastore capability as a more elegant approach to what you're doing. It may not help with your performance issue, though.
PS: Don't forget to fclose your files, especially if you have lots of them.


Find more on Large Files and Big Data in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!