MATLAB: After using the datastore function, how to change the value in the ‘csv’

csvdatastoreMATLABtabulartextdatastore

I find it is useful to read the 'csv' file with the datastore function. Especially for the big data.
After analysis the data, I want to change some value in the 'TabularTextDatastore' data. What function could I use?
For example:
code:
ds = datastore('airlinesmall.csv','TreatAsMissing','NA',… 'SelectedVariableNames','ArrDelay','ReadSize',1000);
sums = [];
counts = [];
while hasdata(ds)
T = read(ds);
% change the year value less than 1997 to 0 %
end

Best Answer

The datastore cannot reflect the changed values because it simply reads the data from the file into a table.
If you want to store the changed values, you want to write the modified table back out.
Example:
while hasdata(ds)
[T, info] = read(ds);
T.DateValue(T.DateValue < 1997) = 0;
filename = ['newfolder/newfile_', num2str(info.Offset), '.txt'];
writetable(T, filename);
end
newds = datastore('newfolder/*.txt');
While this may not be the most efficient, it certainly will work.
Hope that helps.