问题标签 [textscan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1785 浏览

matlab - Matlab:带有空格的文本扫描

我有一个格式如下的文本文件:

我正在尝试使用 textscan 阅读它,但我不知道如何处理空格。我试过了:

CMX 和 COP 之间的空格似乎把它扔掉了,还有逗号之间的空格。有什么建议么?

CMX COP 是一回事。删除空间就可以了。

0 投票
1 回答
1688 浏览

matlab - textscan 在 1 行后停止读取

我正在使用以下命令读取 csv 文件:

问题是 textscan 不会从最后一个字段读取值并在 1 行后停止。跳过该字段,为其分配不同的类型,在 textscan 中使用许多 eof 组合,没有任何帮助。

文件中的数据如下所示:

当我尝试使用上述命令时,我想直接使用 textscan 解析第一个文件。

我不想使用读取字段%q然后解析结果数组的替代方法。

因此,我将不胜感激任何建议让 textscan 一次性完成所有操作。

谢谢。

0 投票
2 回答
5264 浏览

matlab - 文本扫描以读取未知数量的变量和未知数量的运行

我正在尝试读取格式为 csv 的文件

而且我不会提前知道文件中有多少变量(行)或多少运行(列)。

我一直在尝试让文本扫描工作,但无论我尝试什么,我都无法获得隔离的所有变量名称或逐列单元格数组的行。这是我一直在尝试的。

有人有建议吗?

0 投票
1 回答
466 浏览

matlab - Matlab中使用textscan输出数据

我有一个带有一些标题和数字数据的大文本文件。我想忽略标题行并专门输出第 2 列和第 4 列中的数据。

示例数据

我尝试使用以下代码:

我只得到 0x1 单元格的输出

0 投票
2 回答
13150 浏览

matlab - Matlab - 帮助使用文本扫描,如何忽略注释和标题列?

我需要使用文本扫描的帮助。我正在尝试读取具有以下格式的数据:

我关心的唯一两个数据条目是“比电导”和“日期”。(分别为第 3 列和第 7 列)

我能够使用以下代码在一致的基础上做到这一点:

但是,我发现您可以简单地使用“commentstyle”来忽略评论。这很重要,因为我正在阅读多个文件,有时我会遇到一个不包含 27 行注释的文件。这将使我的程序抛出错误。

有人可以告诉我如何调整我的 textscan 代码以忽略注释行并跳过两个标题行吗?

如果我提供的示例代码很复杂,我深表歉意,但基本上我的错误在于这一行代码:

(如果您想下载一个示例制表符分隔文件以使用此链接: 这里

谢谢!

回答:


谢谢 TryHard,这是一个很好的方法,但我想更接近我之前所做的事情。显然我的分隔符已关闭。

0 投票
0 回答
491 浏览

matlab - MATLAB - 创建一个重复的文本扫描过程,该过程一直运行到处理完整个文件

首先我会说我是一个 Matlab 新手,所以如果之前有人问过这个问题,但我一直找不到我需要的答案,我深表歉意。

我正在编写处理一些大型降雨雷达文件(5-20​​GB)的代码,我已经安排代码以 24 小时块读取数据,然后删除一些不必要的点。如下:

我希望这段代码清楚地说明了我想要实现的目标。如果没有,请随时询问。

本质上,我需要的是制作这部分代码:

重复直到处理完整个文件。我认为这应该是大约 2000 次迭代。另外,我知道这段代码目前非常粗糙和准备就绪,并不是那么优雅,任何对新手有用的评论都将不胜感激。

希望你能提供帮助。

最好的

山姆

更新:

挖掘后,这个问题通过 For 循环得到解决和简化,示例代码如下。

0 投票
1 回答
112 浏览

matlab - Matlab 文本文件分隔符和标题读取

我有一个看起来像这样的文件:

该文件持续的时间更长,但总体思路是有 2 行标题,然后是由“|”分隔的数据。

我一直在尝试跳过标题行,但我尝试过的没有任何效果。删除标头后,我尝试使用以下脚本读取文件的其余部分。第一行的前两列有效,但其余为空。

我应该如何编辑我的代码,以便它跳过标题并阅读所有数据行?我很确定我没有正确的 %d 部分。

0 投票
2 回答
405 浏览

matlab - 在matlab中使用textscan将包含特殊字符的行替换为nan

我正在尝试使用包含以下行的 textscan 读取文件

1.0 2.0 3.0 ? 6.0 5.0

11.0 12.0 13.0 15.0 16.0 15.0

21.0 22.0 23.0 25.0 26.0 25.0

31.0 32.0 33.0 ? 36.0 35.0

如何用nan替换问号?

0 投票
1 回答
244 浏览

matlab - 使用 Matlab 稳健地读取表格数据文件

我正在尝试访问由测量设备生成的文本文件中的数值数据。这些文件是字符串和数字的混合体,项目由制表符分隔。它不是矩形的,这使得它们不适合 matlab 的文件加载功能,例如 dlmread。我可以将文件转换为 exel 电子表格并使用 xlsread 加载它们,但由于我要处理数百个文件,所以这不是我的选择。

以下是文件的样子:

等等

请注意: - Scan #-5 前面的值告诉我文件中有多少重复 - AX/37 告诉我每次扫描有多少行。- 'VOID' 元素在适用时被实际数字替换,反之亦然。

我希望能够提取存在的值,并且我的脚本不依赖于跟踪的大小、重复次数或值是数字还是“VOID”。

到目前为止,根据其他步骤中给出的提示,我能够创建一个包含文件行的数组并提取每行的前 2 个数字,如下所示:

Traces 然后是一个单元格,其中包含每行的数组,每行最多有两个前数字。为什么它在找到 2 后停止连续搜索浮动项目对我来说是个谜……我不想指定每行中的数字和字符串的顺序,因为它们可能会有所不同。

任何帮助将非常感激。

0 投票
2 回答
1644 浏览

matlab - MATLAB 阅读文件

我在阅读文件时遇到了麻烦,基本上,我想以某种方式摆脱不必要的文本,只打印出一个只包含数字的矩阵。

1 1 -1 1 1 -1 -1 1 1 1 -1 1

1 -1 1 -1 -1 1 1 1 1 -1 1 1

sgfgdf

1 1 1 -1 1 -1 1 -1 -1 -1 -1 1

rtydsfdsfds

1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1

1 1 -1 1 1 -1 -1 -1 1 -1 1 -1

1 -1 1 1 1 1 1 -1 -1 -1 1 -1

到目前为止我尝试的是:

d = fopen('transmission_data.txt')

R = textscan(d, '%f %f', 'headerLines', 3:5)

fclose(d)

但这不起作用,因为我只需要为 textscan 输入一个数字,例如“3”,这将摆脱前 3 行,但我想特别摆脱第三和第五行。也许还有其他方法可以读取数据?帮助将不胜感激:)

*请注意,第一行文本和第二行数字之间有一个空行