我想使用文本扫描命令实时更改文本文件的第二列。我只能接受文本文件的第一列,但是我想要第二列。这是我的代码:
fileid = fopen (Path);
rxt = textscan (fileid, '%d %*[^\n]' );
fclose (fileid);
arr = rxt {1,1};我如何修改它,以便只读第二列?
以下是文本文件中的一些部分:
226, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, 0,00, 0,00, 0,00
227, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, 0,00, 0,00, 0,00
228, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, -187500,02, 0,00, 0,00, 0,00发布于 2016-12-12 15:33:29
您可以指定要丢弃第一个数字(%*d),保留第二个(%d),并丢弃字符串的其余部分(%*[^\n])
textscan(fileid, '%*d, %d, %*[^\n]')但是,基于数据,您已经粘贴了一个逗号分隔的文件,该文件也使用,作为基点。因此,您需要读取第二个和第三个数字,并将它们转换为浮点数
numbers = textscan(fileid, '%*d, %d,%d %*[^\n]');
numbers = arrayfun(@(a,b)a * 10^b, numbers{:})https://stackoverflow.com/questions/41104001
复制相似问题