Problem beim txt-File einlesen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:14 Sa 15.11.2008 | Autor: | MinaM. |
Aufgabe | txt-File einlesen |
Hi,
ich möchte in Matlab ein txt-file einlesen (Spalten mit Leerzeichen getrennt).
In der ersten Zeile stehen die Variablennamen (insgesamt 10 St.), die restlichen Zeilen bestehen aus Zahlen und/oder Text. Das Problem ist, dass die Zellen nicht immer besetzt sind.
ich hab mit folgender Code versucht:
fid = fopen('X.txt','r');
data= textscan(fid, '%s%s%s%s%s%s%s%s%s%s');
fclose(fid);
leider sind die importierten Daten verschoben. vermutlich wegen den Lücken in diesem txt.file.
könnte jemand mir weiterhelfen?
Vielen Dank im Voraus
Gruß
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:09 So 30.11.2008 | Autor: | rainerS |
Hallo!
Erstmal herzlich
> ich möchte in Matlab ein txt-file einlesen (Spalten mit
> Leerzeichen getrennt).
> In der ersten Zeile stehen die Variablennamen (insgesamt 10
> St.), die restlichen Zeilen bestehen aus Zahlen und/oder
> Text. Das Problem ist, dass die Zellen nicht immer besetzt
> sind.
>
> ich hab mit folgender Code versucht:
> fid = fopen('X.txt','r');
> data= textscan(fid, '%s%s%s%s%s%s%s%s%s%s');
> fclose(fid);
>
> leider sind die importierten Daten verschoben. vermutlich
> wegen den Lücken in diesem txt.file.
>
> könnte jemand mir weiterhelfen?
Wenn ich dich richtig verstehe, dann stehen in manchen Zeilen statt Text oder Zahlen einfach nur Leerzeichen?
Fangen die Spalten immer an der selben Position an? Dann kannst du nämlich beim Einlesen die Spaltenbreite angeben. Zum Beispiel: 3 Spalten mit Breiten 10,8,10:
data= textscan(fid, '%10s%8s%10s');
Wenn nicht, kannst du entweder versuchen, mit den Optionen delimiter und MultipleDelimsAsOne zu arbeiten, oder ein txt-File zu verwenden, das Kommas statt Leerzeichen als Trenner verwendet. Es ist wahrscheinlich einfacher, das txt-File in ein solches csv-Format umzuwandeln, als das Matlab dazu zu bringen sie richtig einzulesen.
Viele Grüße
Rainer
|
|
|
|