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

Header aus Table löschen möglich?

 

Linda
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2017, 13:47     Titel: Header aus Table löschen möglich?
  Antworten mit Zitat      
Ist es generell möglich den Header eines Tables zu löschen? Da stehen einfach die Bezeichnungen der Größen drin, brauch ich aber nicht. Veursacht nur Schwierigkeiten.

Danke für die Hilfe. Smile
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.11.2017, 15:09     Titel:
  Antworten mit Zitat      
Hallo Linda,

ich glaube die Frage für viele hier nicht ganz klar. Was meinst du hier unter Tables?
CSV Files? XLS-Files? Ein Matlab interner Container doc table ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Linda
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2017, 15:16     Titel:
  Antworten mit Zitat      
Ich führe folgenden Befehl aus:
Code:
ds = datastore('...\*.csv'); %Pfad
Data = readall(ds);


So erhalte ich eine große Tabelle meiner Csv Dateien, jedoch mit Header, den ich nicht benötige. Das Datum und die Zeit in Spalte 1 jedoch brauche ich, deshalb verwende ich auch diesen Befehl und nicht csvread.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.11.2017, 15:33     Titel:
  Antworten mit Zitat      
Hallo, alles klar du bekommst also einen table-Container.
Du kannst table Container zu anderen Strukturen umformen z.b Matrix oder Cell

Code:

CellData     = table2cell(Data)
MatrixData = table2array(Data)
 


Wenn du nur spezielle Spalte brauchst, dann rufe ganz einfach
Code:

Spalte = Data.(hierDeinSpaltenName)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Linda
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2017, 15:41     Titel:
  Antworten mit Zitat      
Mit der Umwandlung in eine Matrix habe ich auch schon getestet, kriege dabei aber folgende Fehlermeldung:

"Cannot concatenate the table variables 'v_wind_ges' and 'timestamp', because their types are double and cell."

Ich brauch keine spezielle, ich möchte einfach nur die Überschriften der Spalten raus haben, damit ich damit weiter arbeiten kann, sonst meckert er ständig, weil ja Buchstaben vorkommen. Beispielsweise wenn ich den Mittelwert einer Spalte bilden möchte.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.11.2017, 16:18     Titel:
  Antworten mit Zitat      
Hallo Linda,

Zitat:
Ich brauch keine spezielle, ich möchte einfach nur die Überschriften der Spalten raus haben, damit ich damit weiter arbeiten kann, sonst meckert er ständig, weil ja Buchstaben vorkommen. Beispielsweise wenn ich den Mittelwert einer Spalte bilden möchte

Wenn du die Daten mit readall einliest, erhältst du speziellen Datentyp, was table heißt. Header gehört zu diesem Datentyp dazu und kann nicht gelöscht werden.
Du muss es einfach richtig verwenden kennenlernen, glaub mir wirst du irgendwann table schätzen lernen.
Wenn du weiß welche Spalten du brauchst, kannst z.B schon beim Einlesen nur diese holen:

Code:

ds = datastore('...\*.csv'); %Pfad
ds.SelectedVariableNames = {'Year', 'Month'};
Data = readall(ds);
 



Zitat:
Mit der Umwandlung in eine Matrix habe ich auch schon getestet, kriege dabei aber folgende Fehlermeldung:

"Cannot concatenate the table variables 'v_wind_ges' and 'timestamp', because their types are double and cell."


Das bedeutet dass du unterschiedliche Datentypen in einigen Spalten hast, was nicht möglich macht diese zu einer Matrix direkt zu konvertieren.
Also muss die Datentypen vorher anpassen, timestamp vorher zu double konvertieren, falls es String ist über datenum
Ansonsten hilft nur zu Cell zu konvertieren, aber wird so unbrauchbar sein

welchen Format hat timestamp?
Code:

Data.timestamp = datenum(Data.timestamp, 'yyyy.mm.dd_HH:MM:SS')
MatrixData = table2array(Data)
 


Zuletzt bearbeitet von denny am 02.11.2017, 17:02, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Linda
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2017, 16:32     Titel:
  Antworten mit Zitat      
Danke dir für die detaillierten Antworten.

Okay, das mit dem Table hab ich verstanden. Werde das dann immer mit dem Namen aufrufen, evtl. auch übersichtlicher.

Ahh, okay, das mit dem Datum war das Problem.
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 - 2024 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.