|
|
Externes einlesen eines Excel files ins Matlab |
|
tommylabamba |

Forum-Fortgeschrittener
|
 |
Beiträge: 87
|
 |
|
 |
Anmeldedatum: 08.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.07.2015, 14:02
Titel: Externes einlesen eines Excel files ins Matlab
|
 |
Hallo,
ich möchte gerne ein externes .xls file aus dem Internet ins Matlab einlesen.
Die Fakten zur Problemstellung:
- Link: http://...../data.xls
- 1.-12. Zeile ist nur Text den ich nicht brauche
- ab 13. Zeile beginnen die Daten
- 1. Spalte Datum in Format MM/JJJJ
- 2. Spalte ist Wert mit z.B. 2,4 (Achtung: Komma ist in .xls file, in Matlab soll es natürlich Punkt sein, welches als Kommazahl gewertet wird)
- das Datum soll anschließend mit date2num umgewandelt werden, allerdings kennt Matlab dieses 'MM/JJJJ" Format nicht.
Jemand eine Idee?
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.07.2015, 15:54
Titel: Re: Externes einlesen eines Excel files ins Matlab
|
 |
Hallo tommylabamba,
Wie wäre es mit
urlread
,
xlsread
und dann einer Auswertung der Daten?
Was hast Du bisher versucht und hast Du eine konkrete Frage dazu?
Bisher ist eine Hilfe noch schwer möglich.
Gruß, Jan
|
|
|
tommylabamba |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 87
|
 |
|
 |
Anmeldedatum: 08.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.07.2015, 17:59
Titel: Re: Externes einlesen eines Excel files ins Matlab
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo tommylabamba,
Wie wäre es mit
urlread
,
xlsread
und dann einer Auswertung der Daten?
Was hast Du bisher versucht und hast Du eine konkrete Frage dazu?
Bisher ist eine Hilfe noch schwer möglich.
Gruß, Jan |
Also ich habe schon versucht zuerst mit fopen die Datei, die über einen link direkt abgerufen wird, temporär zu öffnen und die Daten auszulesen.
fopen funktioniert aber nur mit .txt. .csv. Bei .xls geht das nicht.
Hier der Code der bei .csv (horizontale Datentrennung durch , Delimiter) funktioniert und bei yyyy-mm-dd Datums Format:
xlsread dagegen funktioniert nur, wenn die Datei bereits im Matlab Current Folder ist. Das ist sie aber nicht. Sie wird ja aus dem Internet abgerufen.
Vor xlsread muss also ein Zwischenschritt her, nur welcher? Die .xls Datei entweder abrufen, speichern und ins .dat überführen oder die .xls Datei öffnen, temporär auslesen, ins .dat überführen und die eigentliche .xls Datei verwerfen.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 22.07.2015, 09:45
Titel: Re: Externes einlesen eines Excel files ins Matlab
|
 |
|
 |
|
Hallo tommylabamba,
Zitat: |
Also ich habe schon versucht zuerst mit fopen die Datei, die über einen link direkt abgerufen wird, temporär zu öffnen und die Daten auszulesen.
fopen funktioniert aber nur mit .txt. .csv. Bei .xls geht das nicht. |
Bitte poste den Code, anstatt ihn zu beschreiben.
fopen
ist für lokal Files gedacht. Es funktioniert mit .xls Files genauso wie für alle anderen Files, deshalb weiß ich nicht, was Du mit "geht nicht" meinst. Bitte erkläre immer, was genau passiert, statt nur "geht nicht" o.ä. zu schreiben.
Für Files im Netz ist
fopen
jedenfalls nicht gedacht, sondern
urlread / urlwrite
.
Das ist sehr seltsam. Was ist "link"? Hast Du Quotes um "datei.csv" vergessen oder ist "datei" ein Struct und ".csv" ein Feld davon?
Ich dachte, es geht um ein .xls File?
Zitat: |
xlsread dagegen funktioniert nur, wenn die Datei bereits im Matlab Current Folder ist. Das ist sie aber nicht. Sie wird ja aus dem Internet abgerufen. |
Verwende einfach absolute Pfadnamen für die Files. Das ist deutlich sicherer als sich einfach darauf zu verlassen, wo der aktuelle Pfad gerade ist.
Zitat: |
Vor xlsread muss also ein Zwischenschritt her, nur welcher? Die .xls Datei entweder abrufen, speichern und ins .dat überführen oder die .xls Datei öffnen, temporär auslesen, ins .dat überführen und die eigentliche .xls Datei verwerfen. |
Woher kommen denn nun die ".dat" Files? Wozu soll das "überführt" werden?
Wie wäre es damit:
Gruß, Jan
|
|
|
tommylabamba |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 87
|
 |
|
 |
Anmeldedatum: 08.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.07.2015, 16:09
Titel: Re: Externes einlesen eines Excel files ins Matlab
|
 |
Jan S hat Folgendes geschrieben: |
Wie wäre es damit:
Gruß, Jan |
Vielen herzlichen Dank Jan.
Das klappt jetzt!
Der Befehl fullfile ist mir neu, kannte ich nicht.
Weißt Du vielleicht noch eine Lösung wie ich den Datum-String "MM/JJJJ" in Monat und Jahr spalten kann und als einen Wert mit date2num umwandeln kann.
z.B. ich habe den Wert 09/2014 als String. Möchte aber einen Wert haben, z.B. 72323 wobei dieser Wert für das Datum 01/09/2014 steht.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.07.2015, 16:24
Titel:
|
 |
Hallo,
Ab R2014b bietet
datetime
übrigens eine schöne Alternative, weil man nicht ständig hin- und herwandeln muss.
Grüße,
Harald
|
|
|
|
|
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.
|
|