如何仅使用低 I/O 命令将 CSV 文件导入 MATLAB?

问题描述 投票:0回答:1

我正在尝试将此 csv 文件中的数据导入到 MATLAB,其中包含 3 列和 524 行。

csv 文件

我只被允许使用低 I/O 命令,例如 fopen、fscan、fprintf...所以我从以下命令开始:

Filename ='Text.csv';

FileID=fopen(Filename, 'r');

Header = fgetl(Filename);

我单击“运行”来检查它是否已正确导入,但是我的变量 FileID 一直显示为 1,然后是 2,然后是 3,每次单击“运行”时它都会不断增加 1。我需要的是一个包含所有值的表格,除非这段代码不完整,否则我无法找出哪里出错了。

matlab csv import task low-level-io
1个回答
0
投票

“如何对每一行使用 fgetl?只是这样吗?

fgetl(FileID); fgetl(FileID);
”通常,您会希望对每一行执行一些操作,而不是仅仅读取并丢弃。

这是一个示例文件:

y Fred
n Karen
y Janice
y John

这里有一些代码可以阅读并用它做一些事情:

FileID=fopen(Filename, 'r');
while ~feof(FileID)
    thisline =  fgetl(FileID);
    if thisline(1) == 'y'
        disp(thisline)
    end
end
fclose(FileID)

这是输出:

y Fred
y Janice
y John
© www.soinside.com 2019 - 2024. All rights reserved.