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

Textdatei mit textscan (?) parsen und als Matrix ablegen

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2012, 10:55     Titel: Textdatei mit textscan (?) parsen und als Matrix ablegen
  Antworten mit Zitat      
Liebe MATLAB-Freunde

Gerne möchte ich die "Kampf-Logs" eines Computerspiels mit MATLAB unter die Lupe nehmen. Das Spiel stellt dabei die gewünschten Daten in Form einer Textdatei zur Verfügung (siehe Beispieldatei im Anhang). Gerne möchte ich diesen Text nun parsen und in eine Matrix-Form bringen. Dabei soll jede Zeile der Matrix einer Zeile in der Textdatei, und jede Spalte in der Matrix einem Wert in der Textdatei entsprechen.

Einiges Herumbasteln hat mich in Richtung einer möglichen Lösung gebracht. Dieser Ansatz lässt aber nicht die gewisse "Genialität" erkennen, die man bei guten MATLAB-Lösungen oftmals sieht.

Wenn jemand diese "geniale" Lösung sieht, würde ich mich über einen Tipp freuen :)


Erster Ansatz:
Code:
fid = fopen('WoWCombatLog.txt');

line = 1;

while ~feof(fid)
   
    tline = fgetl(fid);
   
    C{line} = textscan(tline,'%s','Delimiter','%[,]');
    D{line} = textscan(C{line}{1}{1},'%s','Delimiter','%[ ]');
   
    line = line + 1;

end

fclose(fid);


Vielen Dank für jede Form der Hilfe,

Freundliche Grüsse

WoWCombatLog.txt
 Beschreibung:
Beispieldatei (gekürzt, in der Praxis sind diese Dateien oft viele hundert Zeilen lang)

Download
 Dateiname:  WoWCombatLog.txt
 Dateigröße:  2.86 KB
 Heruntergeladen:  857 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.10.2012, 13:43     Titel: Re: Textdatei mit textscan (?) parsen und als Matrix ablegen
  Antworten mit Zitat      
Hallo,

Code:
DataChar = fileread('WoWCombatLog.txt');
Cell1 = regexp(DataChar, '\n', 'split');
Result = cell(numel(DataCell1), 21);
for ii = 1:numel(DataCell1)
  Str = Cell1{ii};
  Result{ii, 1} = Str(1:18);  % Date and time
  Result{ii, 2:21} = regexp(Str(21:end), ',', 'split');
end

Vielleicht muss beim letzten REGEXP noch ein TRABNSPOSE eingefügt werden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2012, 15:13     Titel:
  Antworten mit Zitat      
Hallo Jan

Vielen Dank für Deine Unterstützung. Mit Deiner Hilfe konnte ich das Problem lösen.

Freundliche Grüsse
 
laronjia
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 30.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2012, 16:09     Titel:
  Antworten mit Zitat      
Hallo zusammen,


ich hab das selbe Problem (Textdatei mit bestimmten Zeilen und Spalten. Import der Daten und Ablegen auf einer zu geeigneten Datenstruktur ), Textdate-inhalt nur zahlen.......wie soll das machen, ich hab das mit den beiden Löschungen versucht leider klappt es nicht...


vielen Dank im voraus
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.