MATLAB Answers


csvread file containing text

Asked by HD
on 28 Apr 2016
Latest activity Commented on by HD
on 28 Apr 2016
Hi I have a CSV file as follow (it is only an example, the real file is much bigger)
text1 text2
numb1 numb2 text3 num3 num4 ...
numb5 numb6 text4 num7 num8 ...
. . .
. . .
. . .
the command M2 = csvread('Test.csv',1,3) works well to save the data after the text column.
I would like to save the first two column starting from the second row.
I tried : M = csvread('Test.csv',1,0,[1,0,2,1])
I have an error in reading the data (I assume because of the text in field 3): Trouble reading 'Numeric' field from file (row number 1, field number 3) ==>
Do you any suggestion please ?
Thank you in advance


Sign in to comment.


1 Answer

Answer by Stephen Cobeldick on 28 Apr 2016
Edited by Stephen Cobeldick on 28 Apr 2016
 Accepted Answer

The solution is very simple: use textscan instead. textscan works with files containing mixed (numeric and text) data, whereas the functions csvread and dlmread only read numeric data.
When you have this kind of task it is easy to browse the help documentation and find all of the file reading/writing functions listed:
and then you can read their descriptions, and pick the best one for your task.


C = textscan(fileID,'%f%f%*[^\n]');
The %*[^\n] will match everything up to the end of the line, and discard it.
on 28 Apr 2016
it is working now .. thank you!!

Sign in to comment.