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 in Matlab einlesen und Komma durch Punkt ersetzen

 

Gaussian65
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2020, 20:07     Titel: csv datei in Matlab einlesen und Komma durch Punkt ersetzen
  Antworten mit Zitat      
Hallo Ihr Lieben

Ich habe eine .csv-Datei die aus 6 Spalten und 200 Zeilen besteht. Da Matlab ja keine Kommas mag möchte ich die Kommas durch Punkte ersetzen. Im Anhang findet ihr die .csv Datei. Anschließend möchte ich die Werte dann plotten lassen (das ist aber dann denke ich mal kein Problem mehr, sobald das Komma durch den Punkt ersetzt wurde)

Gibt es da eine smarte Lösung, die vielleicht sogar gleich schon beim Einlesen der .csv-Datei das Komma durch den Punkt ersetzt, oder muss man da umfangreichere Programmierung leisten. Leider waren mir die Lösungen, die ich so recherchiert habe zu kompliziert und haben bei mir nicht funktioniert.

Vielen Dank schonmal

PS. Ich habe schon mit readmatrix gearbeitet und das funktioniert soweit ganz gut, jedoch werden die Kommazahlen in Matlab durch NaN dargestellt (Matlab mag kein Komma). Bei readmatrix gibt es diverse opts. Nur habe ich da nichts gefunden (aber das muss nichts heißen Very Happy)
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.10.2020, 20:24     Titel:
  Antworten mit Zitat      
Hallo,

da ist nichts angehängt.
readmatrix hat die Option DecimalSeparator. Aus der Doku:
Zitat:
Example: If name-value pair is specified as 'DecimalSeparator',',', then the importing function imports the text "3,14159" as the number 3.14159.


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gaussian65
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2020, 11:34     Titel: decimalseparator klappt nicht
  Antworten mit Zitat      
Ich benutze die Version R2020a und da finde ich unter readmatrix nicht die option decimalseparator. Außerdem sind manche Spalten der csv datei in expo-schreibweise dargestellt. Ich weiß nicht inwiefern das die Funktion beeinflusst. Gibt es noch eine Lösung dieses Problem zu bewältigen?

Ich weiß nicht ob es in diese Thema gehört, aber für meine Anwendung wäre es sehr hilfreich (Arbeiterleichterung), wenn ich das script ausführen könnte, eine csv datei auswähle und als output bekomme ich dann den fertigen plot. Momentan muss ich ja die csv datei jedesmal in den ordner verschieben und im script den datei namen ändern. und das ist für z.b. 10 plot irgendwann echt lästig. Gibt es da eine smarte lösung um das Problem zu umgehen (gerne link für das Thema kopieren). Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Gaussian65
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2020, 11:37     Titel:
  Antworten mit Zitat      


4175.pdf
 Beschreibung:
leider kann man irgendwie keine csv anhängen, aber die pdfdatei enthält die gleichen datein mit komma

Download
 Dateiname:  4175.pdf
 Dateigröße:  162.83 KB
 Heruntergeladen:  169 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gaussian65
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2020, 11:39     Titel:
  Antworten mit Zitat      


csv datei.zip
 Beschreibung:
oder als zip. sorry ich muss das mal eben mit den dateiformaten ausprobieren :D

Download
 Dateiname:  csv datei.zip
 Dateigröße:  3.37 KB
 Heruntergeladen:  144 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.11.2020, 12:09     Titel:
  Antworten mit Zitat      
Hallo,

bei mir funktioniert folgendes unter R2020a wunderbar:
Code:
content = readmatrix('4175.csv', 'DecimalSeparator', ',');


Meine Präferenz wäre generell, Tables zu verwenden und die Überschriften mit zu importieren:
Code:
data = readtable('4175.csv', 'DecimalSeparator', ',');


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gaussian65
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2020, 06:58     Titel:
  Antworten mit Zitat      
Funktioniert super. Vielen Dank für deine schnelle und passende Antwort.

Wie schon im letzten Beitrag erwähnt: Ist es möglich beim Start des Scripts eine csv datei auszuwählen und dann wird quasi die csv datei automatisch im Script inmportiert ohne jedesmal die Datei in den passenden Ordner zu verschieben und im Script den Namen zu verändern. Das ist bei 20 Plots ziemlich lästig. Wenn das nicht das passende Thema ist, würde ich mich sehr freuen wenn mir jemand (falls vorhanden) den passenden Link zu diesem Thema sendet). Ich habe auch keinen Dunst wonach ich suchen soll.

Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.11.2020, 09:39     Titel:
  Antworten mit Zitat      
Hallo,

mit uigetfile kannst du eine Datei, auch aus einem anderen Verzeichnis, auswählen.
Code:
[file,path] = uigetfile('*.csv');
fullName = fullfile(path,file);


Bei Verweisen auf andere Beiträge bitte Links einfügen. :)

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.