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.
0 件のコメント
回答 (1 件)
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 件のコメント
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 Center および File Exchange で Datastore についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!