MATLAB csvwrite数据缺失怎么办
csv文件介绍
csv文件是一种以纯文本形式存储表格数据并使用逗号分割符分割结构的文件格式,其中,逗号表示数据之间的列分割,换行符表示数据之间的行分割。
csv文件通常用于二维数据的存储,十分适合用于数据分析。
EXCEL支持
Excel支持已表格形式进行csv浏览。
Matlab支持
matab有专门支持csv格式的读写函数:csvread和csvwrite
csvread | 从csv文件读取数据到二维矩阵中 |
---|---|
csvwrite | 把二维矩阵写入csv文件 |
但是csvwrite存在数据截断、精度误差的缺陷,在高精度数据存储时因此需要使用fprintf进行写数据,这里给出一个封装的函数
writematrix2csv
function writematrix2csv(path, A)if ~ischar(path) && ~isstring(path)error("throw err path must be string");
end
[row , col] = size(A);fid = fopen(path, "wb"); % 默认就是二进制(b)形式打开 fopen(path, "w")for i = 1 : 1 : rowfor j = 1 : 1 : col -1fprintf(fid,'%f,', A(i, j));endfprintf(fid, '%f\r\n', A(i, col)); % \r回车 \n换行
end
fclose(fid);end