|
|
Wie Werte aus einer Zeile in mehrere Spalten schreiben |
|
Konfetti |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 15:30
Titel: Wie Werte aus einer Zeile in mehrere Spalten schreiben
|
|
Hallo,
ich bin Matlab-Anfängerin und habe eine Txt-Datei mit >16.000 Werten, die alle in einer einzigen Zeile stehen - durch Tab getrennt.
Die Werte gehören zu einer Datenreihe und haben das Format
Tag Monat Jahr Uhrzeit Tag Monat Jahr Uhrzeit ...
Ich möchte jetzt die Matrix so formatieren, dass ich statt einer Zeile 4 Spalten habe, in der die jeweiligen Tage, Monate usw. untereinander stehen.
Wie kan ich das machen?
und wie kann ich die neue Matrix dann als txt-Datei speichern?
Vielen Dank schonmal!
|
|
|
|
|
Seban |
Forum-Meister
|
|
Beiträge: 600
|
|
|
|
Anmeldedatum: 19.01.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ab R2014b
|
|
|
|
|
|
Verfasst am: 16.07.2013, 16:07
Titel:
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 16.07.2013, 16:40
Titel: Re: Wie Werte aus einer Zeile in mehrere Spalten schreiben
|
|
Hallo Konfetti,
Gruß, Jan
|
|
|
Konfetti |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 17:36
Titel:
|
|
Hi Jan,
danke für die Antwort!
Funktioniert aber irgend wie noch nicht.... Er kopiert mir nur die Datei nochmal genau gleich formatiert in das neue File rein.
Muss ich noch irgend was ersetzen/einsetzen im code?
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 17.07.2013, 10:48
Titel:
|
|
Hallo
hast du dir das mit richtigen Editor angeschaut wie Notepad++?
Wenn du das Txt-File mit Standard Notepad anschaust, dann sieht das so aus als, ob alles in einer Zeile wäre. Windows-Notepad braucht noch Carriage Return, um Neue Zeile richtig darzustellen
die Lösung wäre dazu z.B. bei FOPEN als Parmeter zu setzen,
dann wird automatisch Carriage Return gesetzt :
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 17.07.2013, 12:40
Titel:
|
|
Hallo Konfetti,
Das ist aber merkwürdig. Denn am Sourcecode sieht man ja, dass eben nicht alles genau kopiert wird, sondern dass ein \n nach jedem 4. String eingefügt wird.
Aber Dennys Idee könnte das Problem treffen:
Alle Editoren (die ich kenne) können das \n-Zeichen korrekt darstellen, bis auf den "Editor" von Windows. Der scheitert wie schon in Windows 3.1 immer noch an den ansonsten überall erkannten Linux-Linebreaks. M-Files werden seit vielen Jahren ebenfalls bevorzugt mit diesen Linebreaks geschrieben.
Also empfehle ich, den mitgelieferten "Editor" in Rente zu schicken, WordPad, Notepad++ oder Matlab's Editor zu verwenden. Selbst Excel sollte das File richtig lesen können.
Gruß, Jan
|
|
|
Konfetti |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2013, 13:54
Titel:
|
|
Hi Denny, Hi Jan,
danke für eure Hilfe. Ich benutze den SciTE Editor und hab es jetzt auch auf dem Notepad ++ probiert, aber er zeigt mir immer dasselbe an, als würde er es einfach nur kopieren.
Ich versteh schon, dass er durch das \n eigentlich umbrechen müsste, aber irgend wie tut er es nicht...
Ich hab es gerad mal mit einer einfachen Zahlenreihe ausprobiert, da funktioniert es. Nur bei meiner Datei nicht.
In meiner Datei sind die Zahlen leider etwas komisch formattiert, also dargestellt z.b. 6 als 6.000000e+00 oder 2011 als 2.0110000e+03.
Kann es sein das darin das Problem liegt? Im Format?
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 17.07.2013, 14:08
Titel:
|
|
Hallo
dann liegt es wohl an dem Ursprungsfile, bist du sicher dass die Daten durch Tab getrennt sind?
prüfe dass so, schreibe was ausgegeben wurde?
Zuletzt bearbeitet von denny am 17.07.2013, 19:03, insgesamt einmal bearbeitet
|
|
|
Konfetti |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2013, 18:34
Titel:
|
|
Hallo,
tatsächlich! Die Anzahl der Tabs ist 0! Sieht also nur so aus...
Hm.. also soll er umbrechen, wenn ein Leerzeichen kommt?
Danke nochmal!
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 17.07.2013, 19:10
Titel:
|
|
Hallo
versuch mal so zu machen, ich hoffe das hilft:
|
|
|
Konfetti |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2013, 22:28
Titel:
|
|
Yuhuuu
Jetzt funktionierts! Großes Dankeschön!!
|
|
|
Doro H |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.10.2017, 16:25
Titel:
|
|
Ich dachte ich hätte das gleiche Problem, aber irgendwie funktionieren die Antworten nicht bei mir.
Ich habe eine Variable mit dem Namen a2, die eine Zeile lang ist. Sie hat den Wert "1x19983484 double".
Und nun hätte ich gerne, dass es wie hier schon beschrieben, nach jedem vierten Wert in einer neuen Zeile weiter geht. Sodass ich am Ende viele Zeilen und nur 4 Spalten habe.
Welche Befehle muss ich dafür einsetzen?
|
|
|
Seban |
Forum-Meister
|
|
Beiträge: 600
|
|
|
|
Anmeldedatum: 19.01.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ab R2014b
|
|
|
|
|
|
Verfasst am: 17.10.2017, 19:43
Titel:
|
|
|
|
Doro H |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2017, 11:22
Titel:
|
|
Hurra! Es funktioniert!!
Vielen vielen Dank!!
|
|
|
|
|
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 - 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.
|
|