我在目录中有450个*.csv
个文件,我想将所有这些文件收集/导入一个 datastore
进行进一步处理。我使用以下代码将所有CSV文件收集到一个数据存储区中。
Path = 'Data/Dataset Collection/';
Files = dir(Path);
for k = 1 : length(Files)
FileNames = Files(k).name;
if (~strcmp(FileNames, '.'))
if (~strcmp(FileNames, '..'))
ds = datastore([Path FileNames], 'TreatAsMissing', 'NA');
if k == 3
ds_All = ds;
else
ds_All = [ds_All ds];
end
end
end
但是,我正面临着这个错误:
使用类对象进行数组形式和括号样式索引 'matlab.io.datastore.TabularTextDatastore'是不允许的。使用 类'matlab.io.datastore.TabularTextDatastore'的对象仅作为 标量或使用单元格数组。
我有两个问题:
1-如何使用更好的编码仅使用一个日期(only ds
),不两个(ds and ds_All
)。< / p>
2-如果我的解决方案足够好,我该如何克服错误?
答案 0 :(得分:0)
ds = datastore(location)
从location指定的数据集合中创建数据存储区。数据存储区是数据集合的存储库,这些数据集太大而无法放入内存中。创建ds后,您可以读取和处理数据。
因此,您似乎可以通过文件所在的文件夹初始化您的数据存储区。您是否尝试过
Path = 'Data/Dataset Collection/';
ds = datastore(Path);