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

85 views (last 30 days)
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.

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.

Categories

Find more on Data Import and Export in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!