How to remove rows in table?
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello, I need to remove multiple rows in table... I have a table where the first column is imageFilename and there are paths to the images... i need to remove some rows by telling the program exact path... for example i have list of 60 paths which i want to remove from table... how to do this ? thanks for answers
댓글 수: 5
답변 (2개)
Image Analyst
2023년 5월 8일
Try this (untested):
% Nahratie tabulky LabelData
load('LabelData.mat');
% Zadanie ciest k obrazkom, ktoré chceš vymazať
pathsToDelete = {'E:\ADRIAN\BAKALARKA\DATASET\vsetko2\panasonic_fullhd_01-090-000-202109092000.jpg', 'E:\ADRIAN\BAKALARKA\DATASET\vsetko2\panasonic_fullhd_01-090-000-202109092200.jpg'};
% Vymazanie riadkov s danými cestami
numRows = height(LabelData)
rowsToDelete = false(numRows, 1);
for k = 1 : length(pathsToDelete)
thisPath = pathsToDelete{k};
% Check every row in the table for this path.
for k2 = 1 : numRows
if strcmpi(LabelData.imageFilename{k2}, thisPath)
rowsToDelete(k2) = true;
end
end
end
% Delete the rows we need to
LabelData(rowsToDelete, :) = [];
% Uloženie upravenej tabuľky
save('LabelData.mat', 'LabelData');
댓글 수: 0
Peter Perkins
2023년 6월 5일
You don't need loops to do this. Hard to verify that this does what you are asking for with no mat file.
pathsToDelete = {'E:\ADRIAN\BAKALARKA\DATASET\vsetko2\panasonic_fullhd_01-090-000-202109092000.jpg', 'E:\ADRIAN\BAKALARKA\DATASET\vsetko2\panasonic_fullhd_01-090-000-202109092200.jpg'};
idx = ismember(LabelData.imageFilename, pathsToDelete{i}));
LabelData(idx, :) = [];
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!