Verfasst am: 02.05.2017, 16:04
Titel: CSV Dateien in einem Ordner einlesen und konvertieren
Hallo Zusammen,
und zwar hab ich folgendes Problem, ich möchte alle .csv Dateien in einem Ordner einlesen, in eine korrekte csv-Datei konvertieren und anschließend plotten.
Die jetzige ".csv-Datei" ist keine korrekte csv Datei, da diese folgendermaßen aufgebaut ist: "1; 0; 2,612; 39,001; 0,000;" (Trennung der Spalten mit Semikolon, Kommazahl mit Komma getrennt)
Die Anzahl der Spalten ist immer konstant, die Anzahl der Zeilen kann variieren.
Konvertieren der csv Datei funktioniert, nur muss ich dazu einzeln den Namen der Dateien in diesem Ordner eingeben...
Code:
function fileout=convert2csv(filein) % fileout=convert2csv(filein); filein: 'Dateiname' bzw. 'Pfad'; % Konvertiert eine .csv-Datei von Imess F435(falsches .csv-Format) % in ein korrektes .csv-Format und fügt _k an den Dateinamen an. % Ändert zuerst das Komma der Zahl in einen Punkt. % Ändert das Trennzeichen der Spalte von einem Semikolon in ein Komma.
fin=fopen(filein, 'r'); %Wird nicht benötigt?
[a,b,c,d,e]=textread(filein,'%s%s%s%s%s','headerlines',1);
A_k=strrep([a,b,c,d,e],',','.');%Tauscht Komma in Punkt (Kommazahl)
A_neu=strrep(A_k,';',',');%Tauscht Semikolon in Komma (Trennzeichen Spalte)
B=str2double(A_neu);
dlmwrite([strrep(filein,'.csv','') '_k.csv'],B,',') [fileout]=([strrep(filein,'.csv','') '_k.csv']);
fclose(fin);
end
Das Problem hierbei ist die Namen (z.B. A=1=170313144034.csv bzw korrigiert A=1=170313144034_k.csv) sind nach dem einlesen als Cell, das heißt ich kann sie nicht einfach nach dem einlesen in die korrekte CSV-Datei umschreiben lassen.
Die Frage kurz gefasst: Wie kann ich alle Dateien in einem Ordner automatisch einlesen und diese dann auch automatisch in eine korrigierte csv-Datei umwandeln?
Hätte evtl jemand eine Idee? Ich komm irgendwie nicht drauf
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
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.