首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只扫描带有Textscan的列

只扫描带有Textscan的列
EN

Stack Overflow用户
提问于 2016-12-12 15:20:04
回答 1查看 92关注 0票数 0

我想使用文本扫描命令实时更改文本文件的第二列。我只能接受文本文件的第一列,但是我想要第二列。这是我的代码:

代码语言:javascript
复制
    fileid = fopen (Path);
    rxt = textscan (fileid, '%d %*[^\n]' );
    fclose (fileid);

    arr = rxt {1,1};

我如何修改它,以便只读第二列?

以下是文本文件中的一些部分:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-12 15:33:29

您可以指定要丢弃第一个数字(%*d),保留第二个(%d),并丢弃字符串的其余部分(%*[^\n])

代码语言:javascript
复制
textscan(fileid, '%*d, %d, %*[^\n]')

但是,基于数据,您已经粘贴了一个逗号分隔的文件,该文件也使用,作为基点。因此,您需要读取第二个和第三个数字,并将它们转换为浮点数

代码语言:javascript
复制
numbers = textscan(fileid, '%*d, %d,%d %*[^\n]');
numbers = arrayfun(@(a,b)a * 10^b, numbers{:})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41104001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档