matlab 逐行读取原始文件
时间: 2024-07-24 12:00:42 浏览: 109
MATLAB 中,你可以使用 `textscan` 函数逐行读取文本文件。这个函数非常适合处理格式化的数据,如 CSV、TXT 文件等。下面是基本步骤:
```matlab
% 定义文件名和读取模式
filename = 'your_file.txt'; % 替换为你的文件路径
formatSpec = '%s'; % 这里定义每一行的数据格式,例如对于CSV就是 ','分隔
% 打开文件并逐行读取
fileID = fopen(filename, 'r'); % 'r'表示读取模式
if fileID == -1
error('Could not open the file.');
end
% 创建变量存储数据
data = cell(0,1); % 初始化一个空单元格数组
% 使用循环逐行读取并添加到数据结构中
while ~feof(fileID)
% textscan 函数会根据 formatSpec 从文件中解析一行数据,并返回结果
newRow = textscan(fileID, formatSpec);
% 如果读取成功,将新行添加到 data 结构中
if ~isempty(newRow)
data = [data; newRow{1}]; % 假设数据是字符串类型,如果是数值,可能需要相应转换
end
end
% 关闭文件
fclose(fileID);
% 数据现在在 data 数组或矩阵中,具体取决于你的格式Spec
% 接下来你可以进一步处理这些数据
% ...
```
如果你的文件格式不同,比如每行都是数字,`formatSpec` 应该调整为相应的模式。
阅读全文