我有一个包含超过一百万行的数据文件,包含16个整数(这并不重要),我需要处理Octave中的行。显然,加载整个文件是不可能的。如何只加载特定的行?
我想到了两种可能性:
答案 0 :(得分:3)
如果要逐行遍历文件,可以打开该文件,然后使用fscanf
解析每一行。
fid = fopen(filename);
while true
% Read the next 16 integers
data = fscanf(fid, '%d', 16);
% Go until we can't read anymore
if isempty(data)
break
end
end
如果您希望每一行都作为字符串,则可以使用fgetl
来获取每一行
fid = fopen(filename);
% Get the first line
line = fgetl(fid);
while line
% Do thing
% Get the next line
line = fgetl(fid);
end