TabularTextDataStore wont store more than 20000 rows

4 views (last 30 days)
Im trying to import a large csv file (60,000 x 171). tabularTextDataStore is only storing up to 20,000 rows. Is there a more efficient way to import all of the data?

Accepted Answer

Kevin Gurney
Kevin Gurney on 21 Oct 2020
The amount of data returned on each call to the read method of a TabularTextDatastore is controlled by the value of the ReadSize property.
If you want to read more than 20,000 rows on each call to read (20,000 is the default value), then you can adjust the value of ReadSize like so:
trainSet = tabularTextDatastore("data\trainingSet.csv");
trainSet.ReadSize = 60000; % You can adjust this value to your liking.
trainSet.TreatAsMissing = 'na';
trainSetR = read(trainSet)
  2 Comments
SkarletSam
SkarletSam on 21 Oct 2020
It seems like TabularTextDatastore's read size has a max value of 45140
Walter Roberson
Walter Roberson on 21 Oct 2020
There seems to be an internal BUFFER_UPPERLIMIT property that is set to 32 megabytes, with 64 megabytes used for HADOOP . I do not see any method to set that property.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!