2.15 FAQ-425 在使用 Import Wizard 导入数据时,如何在检测到非数值数据时跳过这些文本字符?

Last Update: 7/25/2018


当你使用 Import Wizard 导入 ASCII 数据时,对话框上有一个设置 Non-Numeric Data in a Numeric Field Controls,可以用来检测在导入文件的数值区是否存在非数值数据,并决定在检测到非数值数据时如何处理。

另外,Origin 中有一个变量 __SNUM$,你可以将这个变量赋值为某个文本字符串,使得这个字符串在非数字检测中被视为是一个“数值数据”。例如,如果数据中的缺失值用字符串“NAN”来表示,这时,你可能不希望在导入的时候将 NAN 视为一个非数值数据。

我们以下表数据为例,说明如何使用 Import Wizard 和变量 __SNUM$ 来跳过文本字符。

RUN#1 Production Scrap
1 18.4 0.42
2 NAN NAN
3 7.6 0.01
4 9.2 0.63
5 NAN NAN
6 17.2 0.05
RUN#2 Production Scrap
1 4.4 0.46
2 11 0.25
3 NAN NAN
4 12 0.18
5 5.4 0.98
6 11.8 0.87

如果你在 Import Wizard 对话框的 Data Selection 页面上,从 Non-Numeric Data in a Numeric Field Controls 下拉菜单中选择了 Start new worksheet,默认情况下,Import Wizard 对该数据进行非数字检测时,将在遇到 RUN#2 和 NAN 时触发“新建工作表继续导入”的操作。如果我们想将 NAN 视为一个数值数据(缺失值),那么我们必须在导入之前将变量 __SNUM$ 设置为 NAN。

在导入文件之前,请在 Command Window 中运行

__SNUM$="NAN"

NAN 将不会被视为触发“新建工作表”的文本字符串。然后你可以使用 Import Wizard 对话框的 Non-Numeric Data in a Numeric Field Controls 选项,跳过检测到的非数值数据。

在这个例子中,如果没有特意将 NAN 排除在非数值数据之外,将会生成 5 个工作表,而通过使用 __SNUM$ 来进行特殊排除,将只生成 2 个工作表。


Keywords:import, text data, non-numeric data, skip string, skip text, import wizard, 导入, 文本数据, 非数字数据,跳过字符串, 跳过文本, 导入向导