How to read a large CSV in chunks;

I have the following code which filters a very large CSV.
opts = detectImportOptions('Z_EnergySequence.dat');
data = readtable('Z_EnergySequence.dat',opts);
tol = 1e-6;
filter = 4.125;
filterreddata = data(abs(data.X - filter) < tol, :);
filteredions = data(ismember(data.IonN, filterreddata.IonN),:);
filteredions(1:2:end,:)= [];
writetable(filteredions, 'Published/Z_EnergySequence1.csv');
I think I may be getting errors in the data processing. Is there a way in which I can read the whole CSV in chunks and output to the same file?

1 Comment

Jan
Jan on 23 Aug 2018
Edited: Jan on 23 Aug 2018
I think I may be getting errors in the data processing
This seems to be a pure speculation. Do not try to fix not existing problems.

Sign in to comment.

Answers (1)

Rishi Binda
Rishi Binda on 28 Aug 2018
If you want to read specific range of the generated csv file you can use one of the following :
  • csvread
  • dlmread
  • xlsread

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2017b

Asked:

on 23 Aug 2018

Answered:

on 28 Aug 2018

Community Treasure Hunt

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

Start Hunting!