我试图将数据分析+导入到Excel中更加容易。
我有3种不同的数据类型,称为data1,data2,data3。
我将它们存储在一个单元格数组measurements = cell(3,99)
中
" 3"代表3种不同类型的数据,每个数字1-99代表我测量过的一个对象。
我试图将每种类型的所有文件合并在一起,因此我有1个Excel文件用于data1,1个文件用于data2,1个用于data3。
data1和data2是行向量,而data3是2D矩阵。每个条目可以是不同的大小(虽然没有任何意义上的大)。
我目前的尝试:
for ii=1:99
data1File = sprintf('data1_%d.csv',ii);
data2File = sprintf('data2_%d.csv',ii);
data3File = sprintf('data3_%d.csv',ii);
csvwrite(data1File, measurements{1,ii});
csvwrite(data2File, measurements{2,ii});
csvwrite(data3File, measurements{3,ii});
end
这只给了我99个csv文件的每种数据类型,这是非常低效的。我尝试了许多不同的方法来合并它们(例如,dlmwrite)但是没有成功。
也尝试过:
cell2csv('data1.csv',measurements(1,:), ',','2018','.');
奇怪的是,尽管data2也表示为行向量,但这仅适用于data1。但是,data1包含更大的数字(通常接近5.1 * 10 ^ 4),所以我认为小数点可能已经改变了。 我整天都在尝试这个问题而没有运气。有什么建议吗?
答案 0 :(得分:0)
您是否尝试将“{”更改为“(”在此段代码中?并删除for循环。
csvwrite(data1File, measurements{1,ii}); %change this to this
csvwrite(data1File, measurements(1,:)); %and get it out of the for loop
然后它将测量结果视为1个数组而不是99个不同的单个输出。
您的data1File会创建99个不同命名的文件,因此您当然会拥有99个不同的文件。
*编辑,这是针对dlmwrite:
此外,当尝试将某些内容附加到文件时,您需要使用'-append'添加。
csvwrite(data1File, measurements(1,:),'-append'); %like so
如果这不能解决,我建议查看文件交换,这是我找到的Cell2csv。