使用fprintf将序列日期和数据打印到.csv或excel文件?

时间:2015-07-09 17:54:18

标签: excel matlab datetime

几周前我刚刚开始使用Matlab(R2015a),虽然我已经搜索了这个问题的答案(并尝试了一些解决方法)但我没有运气。希望,这很容易解决!!

我正在尝试以高精度(我需要毫秒)和许多列数据写入.csv文件的一列串行日期。我不想让所有事情都变得疯狂,只是第一列日期。

以下是我发现的内容: - csvwrite不允许不同的精度。

  • xlswrite没有足够的精度(即使我的序列日期是双倍的,是的,我查看了电子表格单元格)

  • dlmwrite以行格式附加数据,因此写入日期然后附加其余数据并不起作用(尽管如此关闭!)

现在我尝试fprintf

hz_time是序列日期(双倍) data1data2分别为4x25(双倍)和4x7(双倍)

hz_time = 1.0e+05 *
[7.357583607870371, 7.357583607928241, 7.357583607986110, 7.357583608043980]

STR_data = [data1, data2];
filename = (strcat('Processed_',files(k1).name));
file = fopen(filename,'w');
fprintf(file,'%.20f\n',hz_time);   
fprintf(file,'%f%f%f%f%f%f%f%f%\n',STR_data);
fclose('all')

目前,此代码将data1和data2附加到STR_date_time列末尾的一个单元格中。当我尝试将hz_time和数据矩阵连接在一起(使用strcat)时,我失败了:

STR_data = strcat([hz_time, data1, data2])
  

警告:在转换为字符期间,超出范围或非整数值会被截断。

我确定它可能是我的格式......

我的最终目标是将此数据导出(转换为.csv或excel电子表格或其他内容),以便第一列具有序列日期(精度加载),而列2-8则包含其他数据。

非常感谢任何帮助。

提前致谢!

0 个答案:

没有答案