Verfasst am: 15.01.2015, 01:16
Titel: Löschen von Zeilen in einem Cell Array
Hi Leute,
Meine .csv wird eigentlich so eingelesen, wie ich das möchte, nun ist es an der zeit sie zu filtern. (siehe % flter analog data (delete subframes))
Ich möchte alle ZEILEN löschen, die in der ZWEITEN Spalte eine 1,2,3 oder 4 beinhalten (wenn die Zelle leer ist, soll die Zeile bestehen bleiben).
Der untenstehende CODE löscht allerdings die erste Zeile, sonst nichts.
Code:
% open and convert csv
fid = fopen('FO_1.csv','r');
C = textscan(fid, repmat('%s',1,395), 'delimiter',',', 'CollectOutput',true);
C = C{1};
[b] % flter analog data (delete subframes)
C(C{1}(:,2)==1|2|3|4,:)=[]; %löscht nur erste Zeile "Devices"[/b]
% write .csv in xlsx file
filename = 'test.xlsx';
xlswrite(filename,C);
| funktioniert nicht in der Form, wie du es dir vorstellst. Zudem: entweder ist C schon ein Double-Array, dann ist das {1} nicht sinnvoll, oder es ist noch keines, dann ist die Indizierung nicht sinnvoll.
Danke, hat mir geholfen. Hab am Ende die .csv allerdings doch als matrix und nicht als cell-array eingelesen. hat das leben vereinfacht.
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.