如果格式为
的.txt文件姓名,家庭,1,2,3,3,3,3
这意味着前两列是字符串,其余是整数
如何将前两列作为字符串向量读取,将另一个矩阵作为数值读取。
答案 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