So I have a .csv file with 134,433 rows. I want to delete a pattern of rows: 1 through 125, and 256 through 1149. This pattern repeats, so I would then delete 1150 through 1275, and 1406 through 2299. How would I write a simple code that deletes these certain rows?

댓글 수: 2

Akira Agata
Akira Agata 2017년 7월 12일
What is a rule of your delete pattern? Rows 1 through 125 contains 125 lines. But rows 1150 through 1275 contains 126 lines.
Andrew L
Andrew L 2017년 7월 12일
That was a typo, I meant to write 1274, so the pattern does indeed repeat

댓글을 달려면 로그인하십시오.

 채택된 답변

Akira Agata
Akira Agata 2017년 7월 12일

0 개 추천

I believe the following code can help.
% Read CSV file
filename = 'yourFile.csv';
data = csvread(filename); % 134,433 rows
% Make a delete pattern
num = 2299*ceil(134433/2299);
idx = false(num,1);
for kk = 1:ceil(134433/2299)
idx([1:125, 256:1149, 1150:1275, 1406:2299]+(2299*(kk-1))) = true;
end
idx = idx(1:134433);
% Delete selected rows
data(idx,:) = [];

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Variables에 대해 자세히 알아보기

질문:

2017년 7월 11일

댓글:

2017년 7월 12일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by