Matlab:读取.csv文件,执行命令和导出数据

时间:2017-07-19 17:31:33

标签: excel matlab file csv directory

我想从一个文件夹中读取一堆不同的.csv文件,平均每个文件的第9列(从第2行开始,因为我想排除标题),然后将平均值输出到新文件中.csv文件作为单列列表。到目前为止,我已经尝试了一些代码,但Matlab只是说它很忙,从不读取或输出任何东西。关于下一步去哪里的建议?谢谢!

function csv_write_2()
folder   = 'C:\Users\Brent\Desktop\MCGOUGH\2017-07-12_bov_da_medmen-l_01\vic-2d_data';
csvFiles = dir(fullfile(folder, '*.csv'));
numfiles = length(csvFiles);
average  = zeros(1, numfiles);
for k = 1:numfiles
  M = csvread(fullfile(folder, csvFiles(k).name),1,0);
  average(k) = mean(M(:,9));
end
csvwrite(fullfile(folder, 'output.csv'), average);
end

1 个答案:

答案 0 :(得分:-1)

两个建议:

1)使用“导入数据”GUI按钮生成用于从CSV导入的脚本。这是在“主页”选项卡中。您将单击它,然后选择要导入的数据,要导入的格式等。然后单击“导入选择”下的向下箭头,然后单击“生成功能”。然后,您可以根据需要修改此功能,并在循环中调用它以循环各种CSV文件。这样你就会知道你已经正确地编写了导入部分。

2)改为使用xlsread。这确实需要更长的时间才能运行,但更直观易用。还有xlswrite,我没有使用过,但我认为同样容易。