Datastore SelectedVariableNames property is reset when doing changes to the Files property.

2 次查看(过去 30 天)
Hi,
When changing the datastore.Files property, previous changes to the datastore.SelectedVariableNames property is reset:
ds = datastore(path,'Delimiter', ';', 'ReadVariableNames', 1); % create datastore
select_idx = ones(length(ds.SelectedVariableNames),1); % create index vector
select_idx(1)=0;
select_idx(3)=0;
ds.SelectedVariableNames = ds.SelectedVariableNames(select_idx==1); % removes the 1st and 3rd variable
ds.Files = ds.Files(cellfun(@check_file_date,ds.Files, days)); %<-- create new Files index to select some files.
% ds.SelectedVariableNames is now reset (1st and 3rd variable is back)
Is this the intended behaviour? I know that changing the Files property forces a reread of the first file, but there should be a way to persist changes to the datastore done before selecting the files. It makes sense to first create and manipulate the datastore, and then select data. This has been tested in R2015a.

回答(1 个)

Aaditya Kalsi
Aaditya Kalsi 2015-6-1
This behaviour is because changing files resets the datastore. You could try changing the SelectedVariables after changing the Files property.
Does that help?
  2 个评论
Leif Solås
Leif Solås 2015-6-2
It does not really help out since the problem here is that I would like to configure the data store first, and then apply this when reading on different subsets of the files listend in the Files property. Reading the documentation on datastore I get the impression that this is the intention.
To get the best code structure it is desirable to have the opportunity to separate configuration and the data retrieval when using the datastore.
Aaditya Kalsi
Aaditya Kalsi 2015-7-16
Thanks Leif. It seems like I need to understand better what you are trying to achieve. I can mention that you can work around this by storing the configured SelectedVariableNames and SelectedFormats in variables before setting files.
After setting the filenames, you can restore the saved settings.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by