MATLAB Answers

0

How can I import data from .csv file with numeric values and texts (with column headers) into MATLAB Workspace?

Asked by Koushik Khan on 23 Mar 2014
Latest activity Edited by MathWorks Support Team on 7 Nov 2018
I have data files (.csv of course) which contains several columns each with a column header. I want to import the data as I do in R. Using 'csvimport' I'm able to capture only the numeric values not the strings in the data. Please someone tell me the procedure of importing such data.

  0 Comments

Sign in to comment.

Products

4 Answers

Answer by Gareth Thomas on 23 Mar 2014
Edited by MathWorks Support Team on 7 Nov 2018

If you right click on the .csv file you can use the “Import Tool” which will help you through the import process. you will be able to choose what data types are imported.
If you click the “Import” button, you can also see the generated code or script. You will see the code it generates.
Another way is to use: “readtable”. See the “readtable” page examples on reading *.csv files.
I hope that this helps. Gareth

  0 Comments

Sign in to comment.


Answer by adam honse on 9 Mar 2018

[~,~,data] = xlsread('myfile.csv') works just fine for csvs.

  0 Comments

Sign in to comment.


Answer by Augustine Ekweariri on 6 Mar 2017

You can use the csvread(csv_file.csv,row_offset,col_offset) command to read data from a csv file in this format;
a = csvread('csv_file.csv',1,0);
for more information, visit;

  0 Comments

Sign in to comment.


Answer by Stu Schwartz on 6 Aug 2017

Input to csvread must be all numeric.
Mixed csv data can be input with table read and a format specification. See readtable online help and example: https://www.mathworks.com/help/matlab/import_export/import-mixed-text-and-numeric-data-from-a-text-file.html

  1 Comment

Historically it was true that input to csvread had to be all numeric. However, somewhere around R2015a, the range specification to csvread became able to skip over leading text rows and leading text columns (provided that the user asked to skip them); it is not able to skip over trailing text rows or trailing text columns however.
However, this ability to skip over leading rows does not help the user read the strings as they asked. It would, though, allow for the possibility of fopen() the file, fgetl() one line, fclose(), split the input line to get the column headers, then csvread() the file telling it to skip the first row.

Sign in to comment.