2017-02-18 5 views
-3

CSV-Datei:Ich möchte diese spezifische CSV-Datei mit Matlab lesen. Ich habe aber ich textscan fehlgeschlagen

Date,Open,High,Low,Close,Volume,Adj Close 
20170217,64.470001,64.690002,64.300003,64.620003,21234600,64.620003 
20170216,64.739998,65.239998,64.440002,64.519997,20524700,64.519997 

ich benutzen:

fileID = fopen('table.csv'); 
C = textscan(fileID,'%s %f %f %f %f %d %f','Delimiter',','); 
fclose(fileID); 
celldisp(C) 

aber es hat nichts zu lesen.

+0

Warum nicht einfach verwenden 'readtable'? –

+0

Möglicherweise müssen Sie die erste Zeile überspringen, bevor Sie 'textscan' verwenden – rayryeng

Antwort

1

Sie können die csvread Funktion verwenden, um eine csv Datei zu lesen.

m=csvread('table.csv',1,0) 

Die Werte werden in einer Matrix gespeichert.

Da Ihre Datei eine Kopfzeile hat, müssen Sie im Aufruf angeben, dass mit dem Lesen aus der zweiten Zeile der Datei begonnen wird.

Sie können es durch Hinzufügen von zwei Parametern im Aufruf:

  • die erste, aus dem die Zeile definiert starten (Beachten Sie, dass der Index Null Basis) Lesen
  • der zweite definiert die Spalte, aus der (im Fall des Beispiels aus dem ersten) starten

Wenn dennoch Sie textscan verwenden, müssen Sie den Code wie folgt zu ändern:

fileID = fopen('table.csv'); 
% C = textscan(fileID,'%s %f %f %f %f %d %f','Delimiter',','); 
C1 = textscan(fileID,'%s',2); 

C2 = textscan(fileID,'%d%f%f%f%f%d%f','delimiter',',') 
fclose(fileID); 

Sie haben textscan zweimal anrufen:

  • das erste Mal ro die erste Zeile gelesen (der Kopf)
  • das zweite Mal, um die Daten

Hinweis zu lesen, in der erste Aufruf der dritte Parameter im Aufruf: Er gibt an, dass die format (%s) zweimal verwendet werden muss.

Dies, weil in Ihrer Kopfzeile das letzte Wort durch eine space getrennt ist. Nachdem Sie die Kopfzeile gelesen haben, rufen Sie textscan an, um die numerischen Werte erneut zu lesen.

0

CSV wird durch xlsread('File'); zu lesen, wenn es nan liest so tun

[num text all]=xlsread('file'); 

und tun für Schleifen auf Textausgabe

Verwandte Themen