How to select particular column from csv file using csvread function in Matlab

3 views (last 30 days)
Hi Friends,
In my working place we are using Matlab student version 1999. As a work purpose I need to extract few columns of data from large csv file. So far our implementation was writing %f or %*f for all columns depending on number of columns we want.But it is cumbersome task to write so lengthy line. I have seen xlsread function to read particular column from csv file in new matlab version. But since we are using student version I am unable to get this feature. Also I have gone through csvread(filename,R1,C1,[R1,C1,R2,C2))feature of csvread but could not make success to read desired columns.
%My input is 'Navdata.csv'
Time .......missing columns not required.. Latitude(30th column) Longitude Altitude
1234 0.3567 0.4678 356
.... ..... ...... .... ...
% Using xlsread
extract_data=xlsread('Navdata.csv','Navdata','A:A')
% How can I achieve the same without reading all columns and just to extract 4 columns using csvread fucntion.
Thanks

Answers (1)

Ronit
Ronit on 4 Jun 2025
Hello,
To extract specific columns from a large CSV file in MATLAB without reading all columns, you can use the textscan function.
Instead of manually specifying a long format string like "%f" and "%*f" for each column, you can dynamically generate the format string based on the total number of columns and the specific ones you want to read. The key idea is to use "%f" to read the columns you need and "%*f" to skip the rest.
The "Delimiter" option is set to match your CSV (usually a comma), and "CollectOutput" is used to gather the selected columns into one matrix. This method is efficient and works well. It's a practical and scalable approach when dealing with large datasets and avoids the overhead of loading unnecessary data.
Please refer to the documentation of "textscan" function for more details: https://www.mathworks.com/help/matlab/ref/textscan.html
I hope this helps with your query.
Thanks!

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!