繁体   English   中英

将目录中的所有CSV文件导入MATLAB中的数据存储区

[英]Importing all CSV files from a directory into Datastore in MATLAB

我的目录中有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-我如何使用更好的编码来仅使用一个 datestore( only ds ),而不是两个( ds and ds_All )。

2-如果我的解决方案足够好,如何克服该错误?

Matlab在线帮助中

ds = datastore(location)根据location指定的数据集合创建数据存储。 数据存储区是用于存储太大而无法容纳在内存中的数据的存储库。 创建ds之后,您可以读取和处理数据。

因此,看来您可以仅通过文件所在的文件夹来初始化数据存储。

Path = 'Data/Dataset Collection/';
ds = datastore(Path);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM