Effacer les filtres
Effacer les filtres

Time serie import from csv

19 vues (au cours des 30 derniers jours)
Agnete
Agnete le 4 Oct 2013
I need help on import of a time series to matlab. The time series has been converted to csv (number formats gets the dilimanation ""?!!). I have tried Import Data Wizard to import the csv file, but it resulted in one collected column.
Then I tried to make a script. Currently I get this error message:
Error using textscan Delimiter must be a string.
Error in importfile (line 6) A=textscan(fid,'%s %f %f %f %f %f %f %f %f %f %f','HEADERLINES',1 ,'Delimiter', {',' ,'"'},'CollectOutput',1,'HEADERLINES',1);
My code is: function [data,time,ts1]=importfile(NAMgaug) clear all NAM='Nam_rain_2005-2011_6.csv'; fid=fopen(NAM,'r'); A=textscan(fid,'%s %f %f %f %f %f %f %f %f %f %f','HEADERLINES',1 ,'Delimiter', {',' ,'"'},'CollectOutput',1,'HEADERLINES',1); fclose(fid); time=datenum(A(end:1)); data=A(end:2); ts1=timeseries(data,datestr(time)); end
Any heads-up is greatly appreciated
By the way I use Matlab R2012a
  2 commentaires
Cedric
Cedric le 4 Oct 2013
Why do you need the conversion to CSV?
Agnete
Agnete le 6 Oct 2013
I thought matlab could not read excel formats. Thanks so much for the reply.

Connectez-vous pour commenter.

Réponse acceptée

Cedric
Cedric le 4 Oct 2013
Modifié(e) : Cedric le 4 Oct 2013
I'd personally read data directly from the XLS file..
[num,txt] = xlsread( 'Nam_rain_2005-2011_6.xls' ) ;
dates = datenum( txt(2:end) ) ;
columnCodes = num(1,:) ;
data = num(2:end,:) ;
which avoids the conversion to CSV and the need for building a TEXTSCAN-based parser.

Plus de réponses (1)

Andualem
Andualem le 22 Fév 2024
i have csv data for pm2.5 and want work plot

Community Treasure Hunt

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

Start Hunting!

Translated by