Selecting specific columns to import from a CSV

The data I import from my GPS is formatted as CSV files with the following headers:
ID, Session_ID, Heading, Altitude, Latitude, Longitude, Created_DateTime
I only need the Latitude and Longitude values in columns 5 and 6. Is there any way of achieving this?
Currently I delete the last column manually in excel (Created_DateTime) and then use:
data = csvread('gps.csv',1,4);
This returns my latitude/longitude data but I'm wondering if there is a way of doing this without having to manually delete the Created_DateTime column in excel?

 Accepted Answer

fmt=[repmat('%*f',1,4) repmat('%f',1,2) '%*[^\n]'];
fid=fopen('gps.csv');
data=cell2mat(textscan(fid,fmt,'collectoutput',1));
fid=fclose(fid);
See
doc textscan % for details...

3 Comments

Just tried this and 'data' was empty. I'm not familiar with this method so I could tinker with it.
May need
'delimiter',','
for the CSV file
Actually just found a "Generate Script for Selection" under an Import button, thanks for your help though!

Sign in to comment.

More Answers (1)

hi need to select a specific colomns and rows copy one to another csv file how

Categories

Find more on Data Import and Analysis 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!