www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Exceldaten filtern
Exceldaten filtern < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Exceldaten filtern: excelösung
Status: (Frage) beantwortet Status 
Datum: 14:29 Mo 29.10.2007
Autor: Donath

Hi,

ich habe eine exceltabelle die in spalte c beginnt und ca. 2500 Zeilen hat. In Spalte q steht ein Parameter der jedoch nur unregelmässig alle ca. 150 Zeilen auftaucht. Ich will jedoch nur die Parameter aus spalte c-q haben wo ein parameter aus spalte q zuordenbar ist. Das Problem ist zusätzlich, dass excel beim auslesen in jedes Leerfeld eine leezeichen schreibt.
Kann man dafür ein excel oder matlabscript bauen?
Habe die Datei mal angefügt und alle relevanten zeilen rot markiert.
Insgesamt existieren 24 solche datein.
Danke


Dateianhänge:
Anhang Nr. 1 (Typ: xls) [nicht öffentlich]
        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 16:13 Mo 29.10.2007
Autor: Martin243

Hallo,

willst du die Daten in Excel oder in Matlab weiterverarbeiten?
Da du auch ein Matlabskript als Lösung akzeptierst (viiiieeel einfacher), präsentiere ich ein solches:

raw_data = xlsread('daten.xls');
filt_data = raw_data(~isnan(raw_data(: , end)) , 3:end);

Fertig!
Die Matrix filt_data enthält die Spalten C-Q, dabei aber nur die Zeilen, in denen Q (in Excel) einen Wert hatte. Der Schlüssel ist einfach, dass nichtnumerische Werte in Matlab NaN's ergeben, die man leicht filtern kann.


Gruß
Martin

Bezug
                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:16 Di 30.10.2007
Autor: Donath

Hi,

hast du eine lösung wie er mir die spalten c-q hintereinander schreibt?
und dann als execelfile ausgibt.
also immer zeile 1 c-q dann dahinter zeile 2 c-q usw.

danke




Bezug
                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 11:35 Di 30.10.2007
Autor: Martin243

Hallo,

meinst du jetzt ein Transponieren der Matrix oder einfach alles in eine Zeile schreiben? Letzteres würde Excel nicht öffnen können (zu viele Spalten), also gehe ich von Ersterem aus. Wir haben die Daten in filt_data und schreiben:
dlmwrite('filtdaten.csv', filt_data', ';' );

War das gemeint? Falls nicht, bitte melden.


Gruß
Martin

Bezug
                                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:44 Di 30.10.2007
Autor: Donath

Hi,

ich meinte eine excelliste der matlabdaten. 15 Spalten und eben die entsprechenden zeilen
Das stimmt. ich kann sie leider nciht hintereinanderschreiben lassen.

Bezug
                                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 12:03 Di 30.10.2007
Autor: Martin243

Hallo,

also einfach die in Matlab eingelesenen und gefilterten Daten in ein Excel-taugliches Format zurückschreiben?. Da wir keine xls-Dateien erzeugen können, müssen wir uns mit csv behelfen:

dlmwrite('filtdaten.csv', filt_data, ';' );

Diesmal eben nicht transponiert.


Gruß
Martin

Bezug
                                                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:09 Di 30.10.2007
Autor: Donath

die transponierte form ist eigentlich besser nur spuckt er mir in excel datumsangaben aus und wenn ich unter zellen formatieren zahl eingebe sind es nciht mehr die originaldaten. hast du dafür eine löäsung?

Bezug
                                                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 12:21 Di 30.10.2007
Autor: Martin243

>die transponierte form ist eigentlich besser
Dann bleiben wir dabei.

> nur spuckt er mir in excel datumsangaben aus und wenn ich unter zellen formatieren zahl eingebe sind es nciht mehr die originaldaten. hast du dafür eine löäsung?

[verwirrt]

Bei mir geht es. Hier ein Screenshot von mir:
[Dateianhang nicht öffentlich]

Hat sich zwischenzeitlich das Format der Originaldatei verändert?
Hast du mal mit Wordpad o.ä. in die erzeugte csv-Datei reingeschaut?
Kannst du es bei anhaltender Ratlosigkeit mal anhängen?


Gruß
Martin

Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Bezug
                                                                
Bezug
Exceldaten filtern: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 12:28 Di 30.10.2007
Autor: Donath

die transponierte variante ist besser, stimmt....komisch wenn ich xlswrite mache geht es....also es funst....invertiert bekomme ich also 15 zweiten und 28 spalten
hast du für matlab eine idee wir er mir alles 28 spalten untereinanderschreibt?
anschliessend brauche ich wieder eine spalte in excel
deine lösungsvorschläge sind genial
danke

Bezug
                                                                        
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:48 Di 30.10.2007
Autor: Donath

ich glaube das war etwas wir, also nochaml:
wenn ich die rohdaten transponiere erhalte ich 28 Spalten, diese 28 sind allerdings schon csv. datein.
wäre es nicht besser, wenn zunächst in matlab alle 28 Spalten hintereinanderweg geschrieben würden und dann am ende eine csv datei mit einer spalte erzeugt würde, hast du dafür eine lösung

danke danke, martin
lars

Bezug
                                                                                
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 13:37 Di 30.10.2007
Autor: Martin243

Hallo,

zuerst: In der von mir benutzten Matlab-Version gibt es noch kein xlswrite, daher der Umweg.

> wenn ich die rohdaten transponiere erhalte ich 28 Spalten, diese 28 sind allerdings schon csv. datein.

Verstehe ich nicht. Wo kommen die 28 Spalten her? Wie können Spalten CSV-Dateien sein?

> wäre es nicht besser, wenn zunächst in matlab alle 28 Spalten hintereinanderweg geschrieben würden und dann am ende eine csv datei mit einer spalte erzeugt würde, hast du dafür eine lösung

Ohne die Frage vorher zu verstehen:

Wenn du eine 28-spaltige Matrix data hast und die Spalten untereinander haben willst, dann geht es per:
data = reshape(data, [], 1);

Wenn es 28 unabhängige Spaltenvektoren sind, z.B. a, b, c,  usw., dann geht es mit:
data = [a ; b ; c ; usw.];


Ich hoffe, das hilft weiter.


Gruß
Martin

Bezug
                                                                        
Bezug
Exceldaten filtern: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:20 Do 01.11.2007
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]