MATLAB Answers

how to read CSV file in matlab while ignoring the first line

189 views (last 30 days)
Kobi
Kobi on 23 Sep 2014
Commented: Image Analyst on 24 Sep 2014
hi i have this csv file with one header that i dont need and two columns of numbser that i need: https://www.dropbox.com/s/oq2zgmosna347e5/004cm.csv?dl=0 i tried textscan but for some reason it wont work correctly
fid=fopen('004cm.csv');
dat=textscan(fid,'%f%f%f%f%f','Headerlines',1 );
fclose(fid);
what is wrong?

  1 Comment

Star Strider
Star Strider on 24 Sep 2014
Attach your file here instead. Use the ‘paperclip’ or ‘staple’ icon. (Your file doesn’t exist at the URL you supplied.)

Sign in to comment.

Answers (2)

dpb
dpb on 24 Sep 2014
What is wrong is you didn't specify the delimiter...
dat=textscan(fid,'%f%f%f%f%f','Headerlines',1,'delimiter',',');
For a simple file such as this, while TMW has relegated it to red-haired stepchild status, I still prefer textread as it returns an array directly instead of a cell array when it isn't (necessarily) needed and handles the filename inherently saving the bother of the fopen/fclose pair...
dat=reshape(textread('matt.csv','%f','delimiter',',','headerlines',1),5,[]).'
I used a single format string and reshape as the one peculiarity for textread for the purpose of returning a single array is that it expects as many output variables as there are conversion fields in the format string.

  0 Comments

Sign in to comment.


Image Analyst
Image Analyst on 24 Sep 2014
You might want to look at importdata(). You can specify delimiter and number of headerlines to skip.

  1 Comment

Image Analyst
Image Analyst on 24 Sep 2014
I think it's like textscan() except it does the opening and closing for you.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!