我有一个文件,其中包含以下格式的数据:
filename.jpg,132,234,234,345,4555,23333,344,...,333
我已经...
标记了我有一个很长的整数序列这一事实。在每一行我总共有132个整数。
我想读取带有132
列的矩阵中的数字以及输入文件中的行数。如何使用textscan
函数读取此数据?我该如何指定这种格式?我还想将第一列文件名读入单元格数组。
对于单元格数组,我使用了以下语法:
fid = fopen(inputPath);
buffer = textscan(fid, '%s%*[^\n]', 'Delimiter', ',');
close(fid);
答案 0 :(得分:2)
您可以使用textscan
跟随您的第一次来电csvread
:
A = csvread('data.txt', 0, 1);
最后两个参数指定数据开始的行和列。您的单元格将包含第一列中的字符串,A
包含带有数据的矩阵。
否则,如果您真的必须使用textscan
,请创建格式字符串:
fid = fopen('data.txt', 'r');
% crate a string with as many %f as you need
fmt = ['%s' repmat('%f', 1, 132)];
buffer = textscan(fid, fmt, 'Delimiter', ',');
names = buffer{1};
A = [buffer{2:end}];
fclose(fid);