Erste Zeile aus Dateien eliminieren in Matlab?
Hallo,
Ich bin relativ neu in Matlab und muss in meinen Matlab Code eine Schleife einbauen welche die erste Zeile (header) von Dateien (behandelbar wie ganz normale Text Dateien) eleminiert. Also das der Inhalt der ersten Zeile geloescht wird, und die zweite Zeile zur Ersten wird usw.
for i = 1 : length(imglist);
dann erste Zeile von Datei(i) eliminieren
end
imglist ist eine Matrix mit all meinen Dateien bei denen die header geloescht werden soll.
Im Intenet finde ich nichts passendes auf mein Problem. Ein paar Foren empfehlen die Textscan Funktion.
Kenn ihr ein Post in dem eine Fetige Loesung gepostet ist oder habt ihr Tipps oder eine Loesung fuer mich?
Danke fuer eure Hilfe!
1 Antwort
imglist ist sicherlich keine "Matrix mit Dateien". Ich vermute mal, die Variable stammt von einem dir() Befehl?
% Erstelle liste von Filenamen:
imgList = dir('*.txt');
for k = 1:numel(imgList)
% File mit Pfad:
File = fullfile(imgList(k).folder, imgList(k).name);
% Text als CHAR Vektor einlesen:
Data = fileread(File);
% Umwandeln in Cell String an den Zeilenenden:
DataC = splitstr(Data, '\n');
% File zum Schreiben öffnen:
[fid, msg] = fopen(File, 'w');
if fid == -1
error(msg);
end
% Alle bis auf die erste Zeile in das File schreiben:
fprintf(fid, '%s\n', DataC{2:end});
% File wieder schließen:
fclose(fid);
end
Es gibt Foren, die sich direkt an Matlab-User wenden, z.B. Matlab Answers oder goMatlab.de.