Filter löschen
Filter löschen

Time serie import from csv

19 Ansichten (letzte 30 Tage)
Agnete
Agnete am 4 Okt. 2013
Beantwortet: Andualem am 22 Feb. 2024
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 Kommentare
Cedric
Cedric am 4 Okt. 2013
Why do you need the conversion to CSV?
Agnete
Agnete am 6 Okt. 2013
I thought matlab could not read excel formats. Thanks so much for the reply.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Cedric
Cedric am 4 Okt. 2013
Bearbeitet: Cedric am 4 Okt. 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.

Weitere Antworten (1)

Andualem
Andualem am 22 Feb. 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