MATLAB中读取文本文件的常用函数
load 从文本文件导入数据到 MATLAB 工作空间
fopen 打开文件,获取打开文件的信息
importdata 从文本文件或特殊格式二进制文件(如图片,avi 视频等)读取数据
fclose 关掉一个或多个打开的文件
dlmread 从文本文件中读取数据
fgets 读取文件中的下一行,包括换行符
csvread 调用了 dlmread 函数,从文本文件读取数据。过期函数,不推荐使用
fgetl 调用 fgets 函数,读取文件中的下一行,不包括换行符
textread 按指定格式从文本文件或字符串中读取数据
fscanf 按指定格式从文本文件中读取数据
strread 按指定格式从字符串中读取数据,不推荐使用此函数,推荐使textread函数
textscan 按指定格式从文本文件或字符串中读取数据
调用高级函数读取数据
1. 调用importdata函数读取数据
调用格式:importdata(filename)
A = importdata(filename)
A = importdata(filename,delimiter)
A = importdata(filename,delimiter,headerline)
[A D] = importdata(…)
[A D H] = importdata(…)
[…] = importdata('-pastespecial', …)
>> importdata('examp4_2_8.txt','',2)
ans =
data: [18x1 double]
textdata: {2x1 cell}
colheaders: {'你可以选择跳过,读取后面的数据。'}
2. 调用load函数读取数据
调用格式:
S = load(filename)
S = load(filename, variables)
S = load(filename, '-mat', variables)
S = load(filename, '-ascii')
load(...)
load ...
>> load examp4_2_1.txt
>> load -ascii examp4_2_1.txt
>> x1=load('examp4_2_1.txt')
>> x1=load('examp4_2_2.txt')
>> x1=load('examp4_2_2.txt','-ascii')
3. 调用dlmread函数读取数据
调用格式:
M = dlmread(filename)
M = dlmread(filename, delimiter)
M = dlmread(filename, delimiter, R, C)
M = dlmread(filename, delimiter, range)
4. 调用textread函数读取数据
调用格式:
[A,B,C,…] = textread('filename','format')
[A,B,C,…] = textread('filename','format',N)
[…] = textread(…,'param','value',…)
textread函数支持的format字符串
textread函数支持的参数名与参数值列表
调用低级函数读取数据
调用fopen函数打开文件
调用格式:
[fid, message] = fopen(filename, permission)
[filename, permission] = fopen(fid)
调用fclose函数关闭文件
调用格式:
status = fclose(fid)
status = fclose('all')
调用fseek、ftell、frewind和feof函数控制读写位置
调用格式:
status = fseek(fid, offset, origin)
position = ftell(fid)
frewind(fid)
eofstat = feof(fid)
调用fgets、fgetl函数读取文件的下一行
调用格式:
tline = fgets(fid)
tline = fgets(fid, nchar)
tline = fgetl(fid)
调用textscan函数读取数据
调用格式:
C = textscan(fid, 'format')
C = textscan(fid, 'format', N)
C = textscan(fid, 'format', param, value, …)
C = textscan(fid, 'format', N, param, value, …)
C = textscan(str, …)
[C, position] = textscan(…)
把数据写入TXT文件
save 将工作空间中的变量写入文件
fprintf 按指定格式把数据写入文件
dlmwrite 按指定格式将数据写入文件
调用dlmwrite函数写入数据
调用格式:
dlmwrite(filename, M)
dlmwrite(filename, M, 'D')
dlmwrite(filename, M, 'D', R, C)
dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, …)
dlmwrite(filename, M, '-append')
dlmwrite(filename, M, '-append', attribute-value list)
调用fprintf函数写入数据
调用格式:
count = fprintf(fid, format, A, …)
>> x = 10*rand(8,5);
>> fid = fopen('examp4_2_01.txt','wt');
>> fprintf(fid,'%-f %-f %-f %-f %-f %-f %-f %-f\n', x);
>> fclose(fid); % 关闭文件
调用函数读写Excel文件
调用xlsread函数读取数据
1. xlsread函数调用格式
[num, txt, raw] = xlsread(filename, sheet, range)
【例】调用xlsread函数读取文件examp4_3_1.xls第1个工作表中区域A2:H4 的数据。
% 第一种方式:
>> num = xlsread('examp4_3_1.xls','A2:H4')
% 第二种方式:
>> num = xlsread('examp4_3_1.xls',1,'A2:H4')
% 第三种方式:
>> num = xlsread('examp4_3_1.xls','Sheet1','A2:H4')
调用xlswrite函数把数据写入Excel文件
xlsread函数调用格式
[status, message] = xlswrite(filename, M, sheet, range)
【例】生成一个10×10的随机数矩阵,将它写入Excel文件excel.xls的第2个工作表的默认区域。代码保存在m文件CaseXlsWrite.m中。
>> X = rand(10,10);
>> [status, message] = xlswrite('excel.xls', X, 'sheet2')