我需要阅读txt数据集并通过matlab进行一些分析。 txt文件的结构如下:
ID Genre AgeScale 1 M 20-26
2 F 18-25
所以,我想加载这个txt文件并构建一个矩阵。我想知道是否有人可以帮助我。我使用fopen函数,但它给了我一个单独的数组而不是一个有3列的矩阵。
答案 0 :(得分:0)
函数fopen仅返回文件ID,而不返回文件的内容。打开文件后,使用文件ID逐行读取,然后使用空格作为分隔符,使用 strsplit 解析每一行。
这是一种简单的方法:
fid = fopen('textfile.txt');
tline = fgetl(fid);
n = 1;
while ischar(tline)
data(n,:) = strsplit(tline(1:end-1),' ');
n=n+1;
tline = fgetl(fid);
end
fclose(fid);
请记住矩阵数据是字符串而不是数字,所以如果要使用数据集的数值,则需要查看函数 str2num ( str2double 在较新版本中)和 strtok 将AgeScale字符串拆分为分隔符' - '。
答案 1 :(得分:0)
MATLAB有一个交互式数据导入器。只需在命令窗口中输入uimport即可。它允许您:
如果它对你有用,那么恭喜你,你不需要浪费时间来编写数据导入脚本:)