After using the datastore function, how to change the value in the 'csv' ?
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Aaditya Kalsi
2015-11-3
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Datastore 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!