|
|
|
textscan, Probleme mit Delimiters und leeren Zellen |
|
| User123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 11:58
Titel: textscan, Probleme mit Delimiters und leeren Zellen
|
 |
| |
 |
|
Hallo zusammen,
erst mal ein dickes Lob an das Forum, habe schon viele nützliche Sachen hier nachschlagen können, doch jetzt komme ich nicht mehr weiter.
Ich versuche die Datei http://celestrak.com/SpaceData/sw19571001.txt mit textscan einzulesen.
Dabei verwende ich folgenden Code:
Ich benötige nur einige Spalten (siehe Code). Ergebniss ist, dass die Spalten soweit stimmen, mir aber zuviele Zeilen ausgegeben werden (20.632 anstatt von 20.000 die es eigentlich nur sein dürften), das heißt irgendwo ist ein Fehler und die Zellen werden nicht klar von einander getrennt. Wenn ich mir die ausgewerteten Daten angucke sehe ich auch das zwischendurch Werte auftauchen, die nicht in das Schema passen, also falsch eingelesen wurden.
Meiner Meinung nach liegt das Problem enwtweder daran, dass ich die variierenden Delimiter (mal 1 mal 2 Leerzeichen) im Code falsch umsetze, vereinzelt vorkommende leere Zellen das Durcheinander verursachen oder ich den Zeilenumbruch am Ende einer jeden Zeile mitberücksichtigen muss. Integriere ich die Option 'EndOfLine','\n', werden mir die richtigen Werte ausgegeben, aber nur die der ersten Zeile. Außerdem geht das nur solange gut solange keine leeren Zellen auftauchen. Sobald leere Zellen vorhanden sind, kommt textscan durcheinander.
Ich hoffe jemand weiß eine Antwort.
Vielen Dank
|
|
|
|
|
|
| User123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 13:12
Titel:
|
 |
kleines Update:
mit folgendem Code
komme ich zumindest schon mal auf die richtige Anzahl an Zeilen, jetzt muss ich nur noch das Problem mit den Leerstellen lösen. Bsw. das textscan irgendwie beibringen.
|
|
|
|
| User123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 13:58
Titel:
|
 |
Das Problem ist ja jetzt, dass ich in der Datei die Option MultipleDelimsAsOne aktivieren muss, da sowohl ein als auch zwei Leerzeichen genutzt werde.
Gleichzeitig bestehen aber auch leere Felder aus mehreren Leerzeichen, sodass textscan diese als Delimiter erkennt und am "Ende" der Zeile Inhalte fehlen, die dann verständlicher Weise mit NaN aufgefüllt werden.
Weiß jemand ob es eine Möglichkeit gibt diese "Doppelbelegung" zu umgehen?
Vielen Dank.
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 14:37
Titel:
|
 |
Hallo User123,
Verstzehe ich das richtig: Zwei Leerzeichen können einerseits in einzelner Trenner sein, aber auch ein leeres Daten-Feld? In dem Fall ist die Bearbeitung einfach: Lösche das Daten-File, weil man leider nichts mehr damit anfangen kann. Die wichtige Information, zu welcher Spalte ein Element gehört, ist dann nämlich verloren gegangen.
Gruß, Jan
|
|
|
|
| User123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 14:49
Titel:
|
 |
Hallo Jan,
erst mal vielen Dank für die Antwort. Ich glaube prinzipiell hast du mit deiner Aussage recht und wenn sich das durch die ganze Datei ziehen würde wären die Daten wirklich nicht mehr zuordbar.
Allerdings taucht dieses Phänomen ja nur bei den ca. letzten 30 Zeilen auf, da hier noch nicht alle Daten eingetragen sind (siehe Datei, den Link hatte ich oben gepostet).
Meine Frage ist jetzt ob ich textscan das irgenwie beibringen kann, leere Felder zu erkennen und zu überspringen, oder ob ich bei den betroffenen Feldern zuerst manuell eine 0 in die Datei schreiben muss.
|
|
|
|
|
|
|
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.
|
|