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

Textfile einlesen - spezielle Anwendung

 

chbest
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 12.12.11
Wohnort: Süddeutschland
Version: ---
     Beitrag Verfasst am: 25.06.2012, 08:38     Titel: Textfile einlesen - spezielle Anwendung
  Antworten mit Zitat      
Hallo, ein Textfile oder csv-File einlesen kann ich schon. Nur habe ich nun aus einem zweiten System ein anderes Fomat, das in das Format der ersten Version umwandeln muss, um nicht den ganzen Code ändern zu müssen.

In der ersten Version habe ich ein Excel-File, bei der jeweils in der ersten Spalte einige Zahlenwerte mit Semikolon getrennt stehen.

Nun habe ich ein txt File, welches ich durch ändern der Dateiendung in csv umwandeln kann. Dabei habe ich aber nun leider alle Werte hübsch in Zeilen UND Spalten aufgeteilt. Ich brauche aber, um die weitere Verarbeitung im Programm einheitlich zu halten, wieder alle Zeilenwerte NUR in der ersten Spalte durch Semikolon getrennt als csv.Datei.

So mache ich es bisher mit dem ersten Format:

[~,txt,~]=xlsread('excelFile.csv');
nRows=size(txt,1);
currentRow=cell2mat(txt(nRows));
currentRow=strread(currentRow,'%s','delimiter',';');
currentRow = strrep(currentRow, ',', '.');

Eventuell kann mir jemand helfen. Bestimmt geht das auf 10 unterschiedlichen Wegen. Einer würde mir schon sehr genügen.
Danke für Eure Hilfen!

Im Anhang sind die Dateibeispiele.

Beispiel neues System.txt
 Beschreibung:

Download
 Dateiname:  Beispiel neues System.txt
 Dateigröße:  12.88 KB
 Heruntergeladen:  441 mal
Private Nachricht senden Benutzer-Profile anzeigen


flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2012, 11:17     Titel:
  Antworten mit Zitat      
Ich würde dazu übergehen gar keine Textdateien als primäres Format zu verwenden sondern: http://de.wikipedia.org/wiki/Xml mit Hilfe von http://de.wikipedia.org/wiki/Xslt kannst Du dann ein beliebiges Ausgabeformat erzeugen. Zusätzlich sollte zu einer XML Datei ein Schema http://de.wikipedia.org/wiki/XSD definiert werden, welche Nodes welchen Datentyp besitzen.

Matlab bringt auch die entsprechende Funktionalität mit
http://www.mathworks.de/help/techdoc/ref/xmlread.html
http://www.mathworks.de/help/techdoc/ref/xslt.html

Als Alternative zu dem textbasierten Format wäre noch http://de.wikipedia.org/wiki/Hierarchical_Data_Format was Matlab auch in Version 5 mitbringt http://www.mathworks.de/help/techdoc/ref/hdf5.html
Für Java, C/C++, .NET gibt es entsprechende Bibliotheken
http://www.hdfgroup.org/downloads/index.html#hdf5

Es ist durchaus hilfreich seine Daten strukturiert abzulegen. Eine Textdatei ist kein strukturiertes Datenformat in dem Sinne, da hier ggf je nach verwendeten Programm Inkonsistenz beim Lesen und beim Schreiben zu Problemen führen können bzw. in unterschiedlichen OS die Zeichen unterschiedlich durch verschiedenes Encoding interpretiert werden
Private Nachricht senden Benutzer-Profile anzeigen
 
chbest
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 12.12.11
Wohnort: Süddeutschland
Version: ---
     Beitrag Verfasst am: 25.06.2012, 11:25     Titel: Leider keine Auswahl der Datenausgabedatei
  Antworten mit Zitat      
Danke für die Idee, ist sicherlich korrekt. Nur bekomme ich aus dem zweiten System ausschließlich ein txt File heraus. Deshalb muss ich das umwandeln.
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2012, 12:26     Titel:
  Antworten mit Zitat      
ich bin mal ketzerisch und stelle die Frage, warum Du nicht schon die bestehenden Systeme konsistent anpasst. Ich meine, wenn hier eh mehrere Systeme involviert sind, dann würde ich auch die Frage nach einer Datenbank stellen. Jedes System kommuniziert mit der Datenbank, ein zentraler Datenstamm und dieser ist immer konsistent. Damit hättest Du diese Probleme nicht.
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.