How to remove a pattern of rows from .csv

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 comentarios

Akira Agata
Akira Agata el 12 de Jul. de 2017
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 el 12 de Jul. de 2017
That was a typo, I meant to write 1274, so the pattern does indeed repeat

Iniciar sesión para comentar.

 Respuesta aceptada

Akira Agata
Akira Agata el 12 de Jul. de 2017
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,:) = [];

Más respuestas (0)

Categorías

Más información sobre Variables en Centro de ayuda y File Exchange.

Preguntada:

el 11 de Jul. de 2017

Comentada:

el 12 de Jul. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by