这应该是微不足道的,但我在 MATLAB 文档中找不到答案。我有一个包含约 60,000 行和 38 列的 TSV 文件。第一行包含列的名称,第一列完全由字母数字字符串组成。其余条目都是浮点数(尽管在许多情况下,该值仅表示为 0,没有明确的小数点)。
如何将这些数据读入 MATLAB?
这应该是微不足道的,但我在 MATLAB 文档中找不到答案。我有一个包含约 60,000 行和 38 列的 TSV 文件。第一行包含列的名称,第一列完全由字母数字字符串组成。其余条目都是浮点数(尽管在许多情况下,该值仅表示为 0,没有明确的小数点)。
如何将这些数据读入 MATLAB?
MATLABtextscan
为此提供了一个函数。第二个参数是格式说明符。在您的情况下,第一个字段是字符串,所以我们使用%s
,其余字段是浮点值,所以我们使用%f
. 您将需要 37 次重复%f
- 比此示例中的多一些:
fid = fopen('yourfile.tsv');
C = textscan(fid, '%s %f %f %f %f %f %f', 'HeaderLines', 1);
fclose(fid);
HeaderLines
告诉textscan
在开始之前要跳过多少行。您提到文件中的第一行包含列名,因此我们跳过1
行。