Verfasst am: 24.07.2015, 12:45
Titel: CSV in Table einlesen mit variablen Spalten
Hallo zusammen
Ich möchte gern meine Daten bereinigen, imprinziep nur Umbenennen.
Ich hab für jeden der 6 Sensoren in Meiner Tabelle eine Spalte zuviel mit werten leider ist die Spalten Bezeichnung somit falsch weil diese nicht Angepasst wird
Mein Programm läuft wenn alle Sensoren da sind, falls einer fehlt ist das Format anders und es Geht nicht mehr
Code:
function T = Mat_generator(filename, startRow)
%% Initialize variables.
delimiter = ';';
%% Open the text file.
fileID = fopen(filename,'r');
% ==>Wenn ich hier %s nehme ist der Fehler zuwenig Variablen Namen <==
%% Read columns of data according to format string.
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'EmptyValue', NaN, ...
'HeaderLines' ,startRow-1, 'ReturnOnError', false);
%% Post processing for unimportable data. % No unimportable data rules were applied during the import, so no post % processing code is included. To generate code which works for % unimportable data, select unimportable cells in a file and regenerate the % script.
%% Create output variable
T = table(dataArray{1:end-1}, 'VariableNames', {'timestamp', 'Beinlinksaccelerationx','Beinlinksaccelerationy','Beinlinksaccelerationz', 'Beinlinksangularvelocityx','Beinlinksangularvelocityy','Beinlinksangularvelocityz', 'Beinlinksmagnetometerx','Beinlinksmagnetometery','Beinlinksmagnetometerz', 'Beinlinkstiltx','Beinlinkstilty','Beinlinkstiltz','Beinlinksvertacceleration', 'Beinrechtsaccelerationx','Beinrechtsaccelerationy','Beinrechtsaccelerationz', 'Beinrechtsangularvelocityx','Beinrechtsangularvelocityy','Beinrechtsangularvelocityz', 'Beinrechtsmagnetometerx','Beinrechtsmagnetometery','Beinrechtsmagnetometerz', 'Beinrechtstiltx','Beinrechtstilty','Beinrechtstiltz','Beinrechtsvertacceleration','LWSlinksaccelerationx','LWSlinksaccelerationy','LWSlinksaccelerationz','LWSlinksangularvelocityx', 'LWSlinksangularvelocityy','LWSlinksangularvelocityz','LWSlinksmagnetometerx', 'LWSlinksmagnetometery','LWSlinksmagnetometerz','LWSlinkstiltx','LWSlinkstilty', 'LWSlinkstiltz','LWSlinksvertacceleration','LWSrechtsaccelerationx', 'LWSrechtsaccelerationy','LWSrechtsaccelerationz','LWSrechtsangularvelocityx', 'LWSrechtsangularvelocityy','LWSrechtsangularvelocityz','LWSrechtsmagnetometerx', 'LWSrechtsmagnetometery','LWSrechtsmagnetometerz','LWSrechtstiltx', 'LWSrechtstilty','LWSrechtstiltz','LWSrechtsvertacceleration','Pelvislinksaccelerationx', 'Pelvislinksaccelerationy','Pelvislinksaccelerationz','Pelvislinksangularvelocityx', 'Pelvislinksangularvelocityy','Pelvislinksangularvelocityz','Pelvislinksmagnetometerx', 'Pelvislinksmagnetometery','Pelvislinksmagnetometerz','Pelvislinkstiltx','Pelvislinkstilty', 'Pelvislinkstiltz','Pelvislinksvertacceleration','Pelvisrechtsaccelerationx', 'Pelvisrechtsaccelerationy','Pelvisrechtsaccelerationz','Pelvisrechtsangularvelocityx', 'Pelvisrechtsangularvelocityy','Pelvisrechtsangularvelocityz', 'Pelvisrechtsmagnetometerx','Pelvisrechtsmagnetometery', 'Pelvisrechtsmagnetometerz','Pelvisrechtstiltx','Pelvisrechtstilty','Pelvisrechtstiltz', 'Pelvisrechtsvertacceleration','VarName80','VarName81','VarName82','VarName83', 'VarName84','VarName85'});
T.Properties.VariableNames = {'timestamp','Beinlinksaccelerationx','Beinlinksaccelerationy','Beinlinksaccelerationz', 'Beinlinksangularvelocityx','Beinlinksangularvelocityy','Beinlinksangularvelocityz', 'Beinlinksmagnetometerx','Beinlinksmagnetometery','Beinlinksmagnetometerz', 'Beinlinkstiltx','Beinlinkstilty','Beinlinkstiltz','Beinlinksvertacceleration','d1', 'Beinrechtsaccelerationx','Beinrechtsaccelerationy','Beinrechtsaccelerationz', 'Beinrechtsangularvelocityx','Beinrechtsangularvelocityy','Beinrechtsangularvelocityz', 'Beinrechtsmagnetometerx','Beinrechtsmagnetometery','Beinrechtsmagnetometerz', 'Beinrechtstiltx','Beinrechtstilty','Beinrechtstiltz','Beinrechtsvertacceleration','d2', 'LWSlinksaccelerationx','LWSlinksaccelerationy','LWSlinksaccelerationz', 'LWSlinksangularvelocityx','LWSlinksangularvelocityy','LWSlinksangularvelocityz', 'LWSlinksmagnetometerx','LWSlinksmagnetometery','LWSlinksmagnetometerz', 'LWSlinkstiltx','LWSlinkstilty','LWSlinkstiltz','LWSlinksvertacceleration','d3', 'LWSrechtsaccelerationx','LWSrechtsaccelerationy','LWSrechtsaccelerationz', 'LWSrechtsangularvelocityx','LWSrechtsangularvelocityy','LWSrechtsangularvelocityz', 'LWSrechtsmagnetometerx','LWSrechtsmagnetometery','LWSrechtsmagnetometerz', 'LWSrechtstiltx','LWSrechtstilty','LWSrechtstiltz','LWSrechtsvertacceleration','d4', 'Pelvislinksaccelerationx','Pelvislinksaccelerationy','Pelvislinksaccelerationz', 'Pelvislinksangularvelocityx','Pelvislinksangularvelocityy','Pelvislinksangularvelocityz', 'Pelvislinksmagnetometerx','Pelvislinksmagnetometery','Pelvislinksmagnetometerz', 'Pelvislinkstiltx','Pelvislinkstilty','Pelvislinkstiltz','Pelvislinksvertacceleration','d5', 'Pelvisrechtsaccelerationx','Pelvisrechtsaccelerationy','Pelvisrechtsaccelerationz', 'Pelvisrechtsangularvelocityx','Pelvisrechtsangularvelocityy', 'Pelvisrechtsangularvelocityz','Pelvisrechtsmagnetometerx', 'Pelvisrechtsmagnetometery','Pelvisrechtsmagnetometerz','Pelvisrechtstiltx', 'Pelvisrechtstilty','Pelvisrechtstiltz','Pelvisrechtsvertacceleration','d6'};
%% hier könnte man noch die nichtgenutzten elemente entfernen % 'timestamp','Beinlinksaccelerationx','Beinlinksaccelerationy','Beinlinksaccelerationz','Beinlinksangularvelocityx','Beinlinksangularvelocityy','Beinlinksangularvelocityz',... % 'Beinrechtsaccelerationx','Beinrechtsaccelerationy','Beinrechtsaccelerationz','Beinrechtsangularvelocityx','Beinrechtsangularvelocityy','Beinrechtsangularvelocityz', ... % 'LWSlinksaccelerationx','LWSlinksaccelerationy','LWSlinksaccelerationz','LWSlinksangularvelocityx','LWSlinksangularvelocityy','LWSlinksangularvelocityz',... % 'LWSrechtsaccelerationx','LWSrechtsaccelerationy','LWSrechtsaccelerationz','LWSrechtsangularvelocityx','LWSrechtsangularvelocityy','LWSrechtsangularvelocityz',... % 'Pelvislinksaccelerationx','Pelvislinksaccelerationy','Pelvislinksaccelerationz','Pelvislinksangularvelocityx','Pelvislinksangularvelocityy','Pelvislinksangularvelocityz',... % 'Pelvisrechtsaccelerationx','Pelvisrechtsaccelerationy','Pelvisrechtsaccelerationz','Pelvisrechtsangularvelocityx','Pelvisrechtsangularvelocityy','Pelvisrechtsangularvelocityz'});
mhh csv geht wohl nicht
naja Ich brauch imprinzip eine Abfrage mit der ich das Formatspectrum Anpassen kann, oder einen Befehl womit ich alles einlesen kann unabhängig von den Variablenbezeichnung (Anzahl)
Ok, ich schau mir die zwei sachen mal intensiver an
ich habs nun irgendwie gemacht ( schon zulange her)
Danke erst mal
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
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.