|
csToni |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 12:14
Titel: txt-Datei einlesen
|
 |
Hallo,
stöbere schon seit mehreren Tagen im Internet, habe leider bis jetzt keine zufriedenstellende Lösung gefunden.
Mein Problem ist folgendes, ich habe eine große Textdatei, die aus vielen Zeilen besteht. Diese Zeilen bestehen aus Text und einem Wert. Nun möchte ich diese txt-Datei einlesen und in ihr nach bestimmten Wörtern Suchen, an diesen stellen die Datei auftrennen, neue Werte einfügen, wieder zusammenfügen und dann wieder in eine txt-Datei auslesen.
Das Problem beginnt schon beim Einlesen. Wie ich den rest hinbekomme habe ich schon durch studieren anderer Beiträge rausbekommen.
Ich habe schon einige Befehle ausprobiert und bis jetzt hat nur
ansatzweise funktioniert. Jedoch bekomme ich dabei eine Ein-Zeilen Matrix mit Leerzeichen zwischen jedem Buchstaben und jeder Zahl.
Ich bedanke mich im Voraus
|
|
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 12:49
Titel:
|
 |
Poste einen Ausschnitt (3-4 Zeilen) der einzulesenden Datei, dann kann man dir besser helfen.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
csToni |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 13:33
Titel:
|
 |
Hier ein Beispiel. Die gelb markierten Werte sollen geändert werden.
Beschreibung: |
|
 Download |
Dateiname: |
Bild1.png |
Dateigröße: |
172.11 KB |
Heruntergeladen: |
387 mal |
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 14:52
Titel:
|
 |
Ist das eine XML Datei? Sieht zumindest so aus. Da könntest Du mit xmlread ein wenig spielen http://www.mathworks.de/de/help/matlab/ref/xmlread.html
Könnte der einfachste Weg sein aber auch ein Irrweg.
Alternativ regexp
http://www.mathworks.de/de/help/mat.....ml?searchHighlight=regexp
Vielleicht die schnellste Lösung aber am aufwendigsten zu implementieren.
Die "Stumpf ist Trumpf" Methode (Einfach, aber je nach Dateigröße ziemlich langsam). Datei öffnen und mit fgetl die Datei Zeile für Zeile durchgehen und mit strcmp oder strfind nach den gesuchen Zeilen ausschau halten und entsprechend die neuen oder die alten Daten schreiben.
Kann so aussehen, musst du aber nach Deinen Bedürfnissen anpassen!!
So oder so ähnlich. Es gibt garantiert noch ein paar andere Möglichkeiten.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
csToni |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:22
Titel:
|
 |
das Problem ist damit nicht gelöst. denn
erstellt eine z.B. <1x158 char> Matrix, wo jeder Bustabe oder jede Zahl als einzelner Wert existiert mit Leerzeichen-Werten dazwischen. Da ist dann nix mit suchen
edit: hier die txt-Datei zum ausprobieren
Beschreibung: |
|
 Download |
Dateiname: |
Probe.txt |
Dateigröße: |
1.35 KB |
Heruntergeladen: |
225 mal |
Zuletzt bearbeitet von csToni am 12.12.2013, 15:34, insgesamt 3-mal bearbeitet
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:28
Titel:
|
 |
Mit Leerzeichen dazwischen?
Nur wenn in deiner Quelldatei auch Leerzeichen zwischen jedem Zeichen sind.
Lad mal eine Beispieldatei mir 3-4 Zeilen hoch.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
csToni |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:33
Titel:
|
 |
gerade gemacht siehe oben
edit: Problem gefunden! Lag an der Codierung der txt-Datei
Zuletzt bearbeitet von csToni am 12.12.2013, 15:48, insgesamt einmal bearbeitet
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:45
Titel:
|
 |
Das Encoding der Datei ist kaputt.
http://p.osuv.de/ekpf/
Danach geht es
Wenn du Linux benutzt, dos2unix einmal drüber laufen lassen. Ansonsten keine Ahnung....musst du herausfinden ob und wie Du das mit Matlab fixen/anders einlesen kannst.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:49
Titel:
|
 |
Ok, unter Windows sieht man die Problematik nicht.
Hier ein Screenshot
http://p.osuv.de/BwA/
Aber k.a. wo die Datei her kommt, bzw was diese Datei erzeugt hat und unter welchem Betriebsystem Du arbeitest...
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
csToni |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 15:49
Titel:
|
 |
Problem gefunden! Lag an der Codierung der txt-Datei .
thx
|
|
|
Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 12.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 23:51
Titel:
|
 |
Warum verwendet man Matlab für ein Problem, für das Matlab absolut ungeeignet ist. XML-Dateien sind keine normalen Text-Dateien. XML wird in einen passenden Baum geparst, und kann dann mit einem einfachen xpath-Ausdruck bearbeitet werden. Notfalls kann man Matlab dazu mißbrauchen, die entsprechenden Java-Methoden aufzurufen, aber BITTE nicht irgendwie mit fget rummurksen!
|
|
|
csToni |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 03.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.12.2013, 16:52
Titel:
|
 |
Sirius3 hat Folgendes geschrieben: |
Warum verwendet man Matlab für ein Problem, für das Matlab absolut ungeeignet ist. XML-Dateien sind keine normalen Text-Dateien. XML wird in einen passenden Baum geparst, und kann dann mit einem einfachen xpath-Ausdruck bearbeitet werden. Notfalls kann man Matlab dazu mißbrauchen, die entsprechenden Java-Methoden aufzurufen, aber BITTE nicht irgendwie mit fget rummurksen! |
Es hat schon seinen Sinn was ich mache Es geht darum ein gewisses Programm mit verschiedenen Eingaben mit matlab zu steuern, und die Eingaben sind nunmal in solch einer Textdatei gespeichert.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|