Matlab阅读文本格式化文件

时间:2014-10-09 08:18:35

标签: matlab

如果格式为

的.txt文件

姓名,家庭,1,2,3,3,3,3

这意味着前两列是字符串,其余是整数

如何将前两列作为字符串向量读取,将另一个矩阵作为数值读取。

2 个答案:

答案 0 :(得分:1)

这样做的一种方法是让您确切地知道一行一行的内容在以下代码中:

fid = fopen('textfile.txt');
clear data

tline = fgetl(fid);
n = 1;
while ischar(tline)        
    data(n,:) = strsplit(tline(1:end),', ');
    n=n+1;
    tline = fgetl(fid);
end    

fclose(fid);

dataStrings = data(:,1:2);
dataValues = str2double(data(:,3:end));

其中 data 包含字符串类型中的所有内容, dataStrings 仅包含前2列作为字符串, dataValues 包含其余列输入double。

通过这种方式,您可以获得简单的矩阵,这意味着您不必担心结构或单元阵列。

答案 1 :(得分:0)

使用textscan

fileID = fopen('sometextfile.txt');
C = textscan(fileID,'%s %s %f %f %f %f %f %f','Delimiter',','); % assuming you want double data types, change as required
fclose(fileID);
celldisp(C) % C is a cell array