WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

CSV Datei einlesen und plotten

 

Barla
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 13:53     Titel: CSV Datei einlesen und plotten
  Antworten mit Zitat      
Hallo,

Ich möchte eine csv Datei einlesen und plotten. Da die Datei auch text enthält, möchte ich sie mit textscan einlesen.
Da muss ich einen Delimiter angeben. Eine Zeile aus der Datei sieht folgendermassen aus:

2/21/2009,"11:23:32","1","0.001","0.007","0.031","0.049","0.072","N/A","N/A"

Was genau muss ich da als delimiter wählen? Ich habe mehrere Varianten versucht, leider hat keine so recht funktioniert, da zwar das Komma ein delimiter ist, aber was ist dann mit den Anführungszeichen?

Vielen Dank für die Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 16:05     Titel:
  Antworten mit Zitat      
Auf die " kann nicht verzichtet werden?
Alternativ, versuch mal so einzulesen:
Code:
daten=textscan(fid,'%s %q "%f" "%f" "%f" "%f" "%f" "%f" %q %q','Delimiter',',');

daten ist vom Typ cell, plotten der 4. Spalte geht so:
Code:

Was steht denn eigentlich an den Stellen mit "N/A"?
 
Barla
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 16:57     Titel:
  Antworten mit Zitat      
Auf die " könnte schon verzichtet werden, leider weiss ich nicht wie ich das machen kann. Der Compi spuckt mir die Daten einfach so aus.

Irgendwie hat es immernoch nicht geklappt, Datum und Zeit liest es richtig ein, bei den anderen Kolonnen geht es leider nicht. Dort steht einfach:
Empty matrix: 0-by-1
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 17:21     Titel:
  Antworten mit Zitat      
Bei mir klappt es mit der Datei im Anhang.
Code:
fid=fopen('barla.txt','r');
daten=textscan(fid,'%s %q "%f" "%f" "%f" "%f" "%f" "%f" %q %q','Delimiter',',');
fclose(fid);
plot(daten{1,4});

Vielleicht ist das Format doch anders?

barla.txt
 Beschreibung:

Download
 Dateiname:  barla.txt
 Dateigröße:  388 Bytes
 Heruntergeladen:  882 mal
 
Barla
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 17:55     Titel:
  Antworten mit Zitat      
Hmm, ja mit deinem File klappt es. Könnte es ev. daran liegen, dass die ersten 11 Linien mit Text beschrieben sind? Ich habe die zwar mit einem 'headerlines' versucht zu definieren, aber ev. ist ja da was falsch?

fid=fopen('loc001_210209.csv','r');
daten=textscan(fid,'%s %q "%f" "%f" "%f" "%f" "%f" "%f" %q %q','Delimiter',',','headerlines', 11);
fclose(fid);
plot(daten{1,4})
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 18:12     Titel:
  Antworten mit Zitat      
Ne, das glaube ich eig. nicht. Aber du kannst ja testweise (eventuell hast du dich einfach verzählt?) 20 oder 30 headerlines oder sowas nehmen und gucken, ob sich was ändert.
Kannst Du vielleicht die ersten 20,25 Zeilen der einzulesenden Datei posten?
 
Barla
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 18:24     Titel:
  Antworten mit Zitat      
Hier sind die ersten Zeilen aus den Daten.
Vielen vielen Dank für deine Hilfe.

barla.txt
 Beschreibung:

Download
 Dateiname:  barla.txt
 Dateigröße:  2.96 KB
 Heruntergeladen:  726 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 18:39     Titel:
  Antworten mit Zitat      
Es funktioniert mit 11 Headerlines.
Vermutlich stimmt irgendwann das Format einfach nicht mehr. Wenn die Datei nicht zu lang ist würde ich mit einem Editor mit Festbreitenschrift drüber gucken, vielleicht erkennt man, ob irgendwo was kaputt ist.
Vielleicht kommt am Ende der Datei noch eine Art Protokoll, das Probleme bereitet. Aber bis dahin sollte dann trotzdem eingelesen werden.
Kannst auch gern die ganze Datei hochladen, falls sie nicht zu groß ist.
 
Barla
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 18:47     Titel:
  Antworten mit Zitat      
Komisch, ich habe mit einer sehr kurzen Testdatei gearbeitet bis jetzt, und die sieht eigentlich ziemlich normal aus.

Hier nochmals der code:
fid=fopen('loc001_210209.csv','r');
daten=textscan(fid,'%s %q "%f" "%f" "%f" "%f" "%f" "%f" %q %q','Delimiter',',','headerlines', 11);
fclose(fid);
plot(daten{1,4})

Kann es daran liegen dass es eine csv datei ist? ich kanns dir ja nur als txt datei schicken...

barla.txt
 Beschreibung:

Download
 Dateiname:  barla.txt
 Dateigröße:  5.29 KB
 Heruntergeladen:  754 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 18:54     Titel:
  Antworten mit Zitat      
Ob da .txt oder .csv ist egal.
Auch mit dieser Datei klappt es hier.
Bei dir nicht?
Hast du dir die Datei mal im Matlab-Editor angeguckt?
Vielleicht ist es ein Problem wie hier: http://www.gomatlab.de/problem-mit-dem-laden-von-daten-t4430.html
 
Barla
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 19:10     Titel:
  Antworten mit Zitat      
es scheint wirklich nur an dieser einen Datei zu liegen, mit allen anderen klappt es bestens.

Vielen Dank...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.