MATLAB Answers

Read certain range of csv file

289 views (last 30 days)
Bryan
Bryan on 2 Aug 2012
Commented: Matlaber on 15 Feb 2019
Hi,
I want to load a .csv file, but only the content between A252 to D5352.
I've looked at help csvread, and it says I can load files using spreadsheet notation, but the help file is quite vague on this and no example is given.
I've tried
file = csvread('file.csv',A252,D5352,range);
file = csvread('file.csv',0,0,'A252..D5352');
any many other permuatations, but I can't get it to function.
Anybody who has done this before and got it to work?
Thanks Bryan

  0 Comments

Sign in to comment.

Accepted Answer

Eric
Eric on 3 Aug 2012
Edited: Eric on 3 Aug 2012
There are several ways to do this:
1. Using csvread:
data = csvread('file.csv',251,0,'A252..D5352');
2. Using dlmread (which is what csvread actually calls)
data = dlmread('file.csv', ',', 251, 0, 'A252..D5352');
3. Using xlsread (Excel reads CSV files easily):
data = xlsread('file.csv', 'A252:D5352');
The trick with csvread and dlmread is that the r and c inputs must be consistent with the range that is passed in as a string at the end. Remember that these parameters are zero-based, so that column A maps to 0 and row 252 maps to 251.
Regards,
Eric

  1 Comment

Matlaber
Matlaber on 15 Feb 2019
This is very helpful. Thanks.

Sign in to comment.

More Answers (2)

John Petersen
John Petersen on 2 Aug 2012
Try
file = csvread('file.csv', 251, 0, [251 0 5351 5351+n]);
where n is the number of columns you want to read

  0 Comments

Sign in to comment.


Bryan
Bryan on 3 Aug 2012
Edited: Bryan on 3 Aug 2012
Thanks for your comment.
Yes, that would work. But has anybody had success getting the "spreadsheet notiation" to work, as mentioned on the help file for csvread?

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by