How to read string data from a csv file?

58 views (last 30 days)
Hello.. I have a csv data file with 6columns. First column is string type and others are numeric. I don't know why I cant read data with 'csvread'. I saved csv file as xls then used xlsread. It can read my data but it's not reading 1st column may be because its a string. 1st column is like yyyy-mm-ddThh:mm:ss Is there any way to read 1st column and then split it into two columns, one for date and other for time? how to read this data using csvread as I don want to convert it to xls. Thanks
  1 Comment
Sai Ramya
Sai Ramya on 5 Feb 2018
Edited: Sai Ramya on 5 Feb 2018
Don't mention any reading format like 'rb' ....it will read string type....use names= column names while creating a Excel sheet...

Sign in to comment.

Accepted Answer

KSSV
KSSV on 1 Aug 2017
Use xlsread. Read about it.
  3 Comments
KSSV
KSSV on 1 Aug 2017
[num,txt,raw] = xlsread('myfile')
This read entire data.....
Kavita Navria
Kavita Navria on 1 Aug 2017
Thank you sir..This is reading my data. num= N x 6 (type double, skipped 1st column), raw= N x 7(type cell, all columns), txt= N x 7(type cell, 1st column is complete while for others its just showing column headings ) How may I split date and time from 'cell' type. I am using R2013a. I tried using strsplit but its not supporting cell2str, cell2table.

Sign in to comment.

More Answers (2)

Guillaume
Guillaume on 1 Aug 2017
Edited: Guillaume on 1 Aug 2017
Even simpler than xlsread is to use readtable which should be able to figure out the file format on its own.
data = readtable('yourfile.csv');
In particular, readtable should automatically detect that the first column is a datetime and decode it properly. If not it's trivial to convert it:
data(:, 1) = datetime(data(:, 1), 'InputFormat', 'yyyy-MM-ddTHH:mm:ss'); %or similar
  1 Comment
Guodong Cui
Guodong Cui on 17 Aug 2018
readable is simple & useful! It works for me. Thank you!

Sign in to comment.


Md Khaled Ben Islam
Md Khaled Ben Islam on 15 Apr 2018
For dealing with tabular CSV formatted data, readtable seems more flexible than xlsread.
  1 Comment
CHIA HUNG MOU
CHIA HUNG MOU on 31 Dec 2023
Edited: CHIA HUNG MOU on 31 Dec 2023
Yes. readtable is good. For your reference:
% data: https://chris.userweb.mwn.de/book/pizza_delivery.csv
fn = fullfile('pizza_delivery.csv');
data = readtable(fn);
% time
y = cell2mat(table2cell(data(:, 3)));
% interception
x1 = ones(1, size(y,1));
% binary variable (so called dummy variable)
x2 = zeros(1, size(y,1));
x2_ = (table2cell(data(:, 4)));

Sign in to comment.

Categories

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