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

*.txt importieren und letzte Zeile der 1. Spalte ausgeben

 

Cope
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 12.06.2014, 00:43     Titel: *.txt importieren und letzte Zeile der 1. Spalte ausgeben
  Antworten mit Zitat      
Hallo zusammen,
ich habe eine txt-Datei mit einem 5 Zeiligen Header (siehe Anhang). Jetzt möchte ich diese Datei gerne importieren und die letzte Zeile der ersten Spalte ausgeben/abspeichern.

Ich habe es bereits mit der importdate-Funktion versucht:

Code:
brachio = importdata('brachio.txt')


Dadurch bekomme ich lediglich einen struct mit data und textdata. Wenn ich den Header manuell entferne dann nimmt das ganze schon eher die Form an, die ich auch erwarte.

Gibt es eine Möglichkeit die Headerzeilen beim einlesen zu entfernen und dann den Wert der letzten Zeile in der ersten Spalte auszulesen?

Vielen Dank und beste Grüße

brachio.txt
 Beschreibung:

Download
 Dateiname:  brachio.txt
 Dateigröße:  683.34 KB
 Heruntergeladen:  318 mal
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2014, 08:30     Titel:
  Antworten mit Zitat      
Hast du dir auch schon die Dokumentation zu dem Befehl durchgelesen?

http://www.mathworks.de/de/help/mat.....importdata.html#btldf1f-1

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2014, 09:38     Titel:
  Antworten mit Zitat      
hallo, wie Thomas schon gesagt, mit der folgender Code kriegst du die Dateien.

Code:
brachio = importdata('brachio.txt','   ',5);
yourdata=brachio.data;


bitte noch auf den ' ' Zeichen in der importdata Funktion beachten, es soll genau so sein.

viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 12.06.2014, 18:57     Titel:
  Antworten mit Zitat      
Hallo Thomas84, Hallo SkyRazor,
ja ich habe mal in die Doc geschaut und auch folgendes versucht:

Code:
brachio = importdata('brachio.txt','   ',5);


Habe das so interpretiert, dass er die ersten 5 Zeilen löscht. Aber stattdessen gibt er mir nur die ersten 5 Zeilen in einem Cell aus.

Hierbei bekomme ich folgende Fehlermeldung:

Code:
yourdata=brachio.data;


Attempt to reference field of non-structure array.

Hat jemand eine Ahnung was ich falsch mache?
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 09:14     Titel:
  Antworten mit Zitat      
Hallo,

es ist ein Kopie Problem in gomatlab.de.
Es klappt in meinem Matlab, aber wenn hier als Code Format geschrieben ist die Format nicht genau gleich.
Wie schon gesagt, das Leerzeichen zwischen ' und ' ist sehr wichtig, du kannst selbst das Leerzeichen zwischen verschiedene Dateien kopieren, z.b.

Code:
0.0000Leerzeichen-0.618957

die Länge des Leerzeichens in importdata muss auch genau so lang wie in txt Dokument sein.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.06.2014, 12:37     Titel:
  Antworten mit Zitat      
Hallo SkyRazor,
Vielen Dank für deine Hilfe. Vielleicht drücke ich mich falsch aus.

Ich habe es genauso wie du es mir beschrieben hast gemacht. Aber dabei wird ein Cell-Array erzeugt was mir lediglich den Header ausgibt. (siehe Bild importdata.jpg Ich möchte aber doch die Daten die darunter sind haben.

Was mache ich nur falsch?

Gruß

Importdata.jpg
 Beschreibung:

Download
 Dateiname:  Importdata.jpg
 Dateigröße:  86.66 KB
 Heruntergeladen:  258 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 13:15     Titel:
  Antworten mit Zitat      
Hallo,

ein bisschen komisch. Surprised
ok, deine text Dokument ist Tab-Delimited, deshalb ist eine einfache Methode wie folgend:

Code:
brachio = importdata('brachio.txt','\t',5);
yourdata=brachio.data;


jetzt hat es nichts zu tun mit Format.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.06.2014, 17:20     Titel:
  Antworten mit Zitat      
Hallo,
vielen dank für den Tipp. D.h. die einzelnen Werte sind in meiner Datei mit einem Tab und nicht mit einem Leerzeichen getrennt?

Aber selbst mit der neuen von dir gezeigten Methode funktioniert es nicht. Hast du es mal mit der Datei hinbekommen, die ich hochgeladen haben?

Bei mir wird wieder ein Cell-Array erzeugt und bei dieser Zeile:

Code:
yourdata=brachio.data;


bekomme ich folgende Fehlermeldung:

Attempt to reference field of non-structure array.

Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 17:27     Titel:
  Antworten mit Zitat      
hallo,

sorry, ich verstehe wirklich nicht, ich benutze 2014a.

folgend ist ein Foto. Ich hab einfach dein txt File benutzt.

Ja, das 'Leerzeichen' ist tatsächlich ein TAB.

Der letzte vorschlage, den Variablenname ändern, da brachio und brachio.txt ein bisschen ähnlich sind.

Hoffe es hilft. Confused

Capture.PNG
 Beschreibung:

Download
 Dateiname:  Capture.PNG
 Dateigröße:  103.81 KB
 Heruntergeladen:  255 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.06.2014, 17:48     Titel:
  Antworten mit Zitat      
Hey,
dank dir für deine ausführliche Hilfe.

Das ist wirklich komisch. Habe auch schon die Änderung des Variablennamens versucht. Doch leider auch ohne Erfolg.

Du hast die Datei brachio.txt auch im Current-Folder, oder?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.06.2014, 18:03     Titel:
  Antworten mit Zitat      
Ich habe den Fehler gefunden.

Die brachio.txt Datei die ich hochgeladen habe verwendet einen Punkt als Dezimaltrennzeichen. Die Datei brachio.txt die ich noch in meinem Current Folder hatte verwendet ein Komma als Dezimaltrennzeichen. Damit kann Matlab wohl wenig anfangen.

Und die letzte Zeile der ersten Spalte kann ich nun wie folgt anzeigen lassen:

Code:
end = yourdata(end,1);


Vielen Dank nochmal Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 13.06.2014, 18:36     Titel:
  Antworten mit Zitat      
Cope hat Folgendes geschrieben:

Code:
end = yourdata(end,1);



Na ich wette dass das so nicht 1:1 funktioniert

Code:

>> end=m(end)
 end=m(end)
 |
Error: Illegal use of reserved keyword "end".
 


Keywords und Funktionnamen will man generell nicht als Variablennamen haben.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.06.2014, 18:38     Titel:
  Antworten mit Zitat      
Hallo markuman,
danke für den Hinweis, da hast du vollkommen recht.

Ich kaufe ein zusätzliches "e" und möchte lösen Smile

Code:
ende = yourdata(end,1);


Gruß
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 - 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.