MATLAB读取写入文本数据最佳方法 | Best Method for Loading & Saving Text Data Using MATLAB

MATLAB读取文件有很多方法。然而笔者在过去进行数据处理中,由于函数太多,相互混杂,与C#,Python等语言相比,反而认为读取文本数据比较麻烦。C#和Python等高级语言中,对于大部分的文本数据,都是一行一行读取,再使用字符串根据特定的符号进行分割。其实MATLAB中也有类似的方法,在此记录。
笔者所谓的文本数据文件,指的是类似于csv文件格式的数据。一行文件代表的就是一条数据,一条数据中不同字段用符号分隔开。但不一定是逗号相分割,也可能是使用其他符号,例如\t进行分割。
MATLAB中读取此类文本数据方法一:fgetl()方法

fid=fopen('Test.txt','r');
line=fgetl(fid);
while ischar(line)
	disp(strsplit(line,','))
end
fclose(fid)

MATLAB中读取此类文本数据方法二:csvread/dlmread()方法
两者的差异在于csvread()方法默认分割符号为逗号','.而dlmread()方法可以自由设定分割符号。

data=csvread('Test.txt');
data=dlmread('Test.txt','\t');

MATLAB中写入此类文本数据方法:csvwrite/dlmwrite()方法
两者的差异在于csvwrite()方法默认分割符号为逗号','.而dlmwrite()方法可以自由设定分割符号。A为需要写入的数据。

csvwrite('Test.txt',A);
dlmwrite('Test.txt',A,'\t');
posted @ 2017-11-05 18:44  天靖居士  阅读(1166)  评论(0编辑  收藏  举报