仅从文本文件中提取第5列中的数字

时间:2014-10-20 22:38:23

标签: matlab

我有一个.txt文件,它有82332行和5列。我只想将第5列中的数字提取到向量中。这可能在Matlab中吗?

文本文件如下所示 1.0000000e + 00 6.0205125e + 01 -1.1923175e + 02 3.5341908e + 02 3.7197225e-01

任何提示或提示表示赞赏。

1 个答案:

答案 0 :(得分:4)

使用textscan,您可以指定忽略带有格式规范的*修饰符的字段(列)。

fid = fopen('test_data.txt','r');
C = textscan(fid,'%*f%*f%*f%*f%f');
fclose(fid)

你的矢量是C{1}。注意:如果有要忽略的尾随列,您可以使用%*[^\n]跳过该行的其余部分。


您还可以将dlmreadrange输入参数一起使用,如果您知道文件中的行数:

col = 5; numRows = 24;
dlmread('test_data.txt','',[1 col numRows col] - 1)