将 x 和 y 值从文本文件导入 jmp 表你好,
读取文本文件中的每一行并将每个字符串作为 jmp 数据表中的单独行导入
高级统计建模数据存取大规模定制回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图谢谢贾莫。
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图这是完整的示例,它使用关联数组来存储有关晶圆的信息并从文本文件构建 jmp 表。
查看更多...
我还注意到,当“.”时,JMP 似乎无法正确处理值标签。是被标记的值之一。 当我有时间时我会将此报告为错误
查看更多...
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Column 1",
Character,
"Nominal",
Value Labels({"." = "MISSING", "A" = "AAA", "B" = "BBB", "C" = "CCC"}),
Use Value Labels(1),
Set Selected,
Set Values({"A", "B", ".", "C"})
)
);
名称默认为此处(1); dt = 新表("无标题", 添加行(4), 新列("第 1 列", 字符, "标称", 值标签({"." = "缺失", "A" = "AAA", " B" = "BBB", "C" = "CCC"}),使用值标签(1),设置选定项,设置值({"A", "B", ".", "C"}) ) ) ;
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图再次提醒您使用脚本索引和 jmp 帮助。 它们通常是学习此类 JMP 脚本的最佳资源
Names Default To Here(1);
example_str = "\[
WAFER_MAP = {
WAFER_ID = "ABC"
A B C = 123
]\";
example_list = Words(example_str, "\!N");
Show(example_list);
Remove From(example_list, 1); // drop first index. Why it is fine in this case?
// loop over lines until "MAP = {" I'll just use hardcoded index for example
// I'll also save values to variables
// but associative array would be better in this case
wafer_id_line = example_list[1];
Show(wafer_id_line);
wafer_id = Word(2, wafer_id_line, "="); // you might have to remove extra quotes
show(wafer_id);
example_aa = Associative Array();
//adding values to associative array could be done with something like
example_aa["WAFER_ID"] = Word(2, wafer_id_line, "="); // you might have to remove extra quotes
show(example_aa);
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图评分此翻译: 感谢你的评分 不好 好@jthi让我知道我错过了什么。 我知道我已经很接近了。 您可以分享一个示例代码以便我参考吗? 我还在学习如何弹奏弦乐
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图如果您也想要其他信息,我会改变方法。 由于文件中的数据每行都有新数据(晶圆图除外),我将使用 Words() 并在行更改时进行拆分(您仍然可以使用 Words() 生成的列表中的 Contains 来查找晶圆图何时启动,但它是列表中的索引,而不是字符串中的索引)。 然后我会将信息添加到关联数组中以使其更容易访问(这将需要一些循环和更多的 Words() 使用))
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图希望你一切顺利@jthi ,!
关于这次讨论的真正的快速问题-
我还想导入 jmp 数据表中 txt 文件中的所有字符串,包括标题信息。 最终的数据表应包含所有字符串,并且每个字符应被视为一个单独的单词。 它应该看起来像这样。

您建议的逻辑在第 13 行之后不起作用。 任何帮助将非常感激
map_str =
"\[
WAFER_MAP = {
WAFER_ID = ""
BIN G = "Passing"
MAP = {
.....GGG.....
....BGGGG....
...BGGGGGG...
..GGGGGGGGG..
.GGGGGGBBGGG.
GGGGGGGBBGGGB
GGGGGGGGGGGGB
GGGGGGGGGGGGB
.GGGGGGGGGGG.
..GGGGGGGGG..
...GGGGGGG...
....GGGGG....
.....GGG.....
}
}
]\";
l = Words( map_str, "\!N" );
rowc = N Items( l );
colc = N Items( Words( l[1], "" ) );
dt = New Table( "Summary Bins",
Add Rows( rowc * colc ),
New Column( "X coord", Numeric, Ordinal ),
New Column( "Y coord", Numeric, Ordinal ),
New Column( "Bins", Character, Nominal, Label( 1 ) )
);
Try(
For Each( {line, idx}, l,
cur_rows = ((idx - 1) * colc :: (idx * colc - 1)) + 1;
dt[cur_rows, "X coord"] = ((1 :: colc))`;
;
dt[cur_rows, "Y coord"] = (J( 1, colc ) * (idx))`;
dt[cur_rows, "Bins"] = Words( line, "" );
)
);谢谢你的时间!
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图您可以使用 Contains 跳过第一个“MAP = {”或从末尾搜索(读取脚本索引...)

回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图@jthi
有两个字符串包含“ MAP = {" 下面突出显示:

我尝试使用 & 语句不选择第一个,但它不起作用。
demo_str = Load text file("New wafer map.txt");
a = Contains(demo_str,"MAP = {") & Contains(demo_str,"WAFER_MAP = {") ==0; // get the location of the string "MAP ={"
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图您可以尝试包含“MAP = {”。 这应该为您提供字符串中“MAP = {”的位置,然后将这些知识与 Substr 结合使用来获得您想要的内容。 另请检查脚本索引(可能还可以从脚本索引打开 JMP 帮助)以了解 Substr(和其他函数)的工作原理。
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图您可以尝试包含“MAP = {”。 这应该为您提供字符串中“MAP = {”的位置,然后将这些知识与 Substr 结合使用来获得您想要的内容
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图@tx尼尔森,
如果第一行中的模式与 contains 语句匹配,则您的方法有效。 我有几张晶圆图,它们的图案不一样。 唯一的相似之处是晶圆图案从文本文件中的第 21 行开始。 有没有办法定义脚本开始读取的行号? 我附上了晶圆图文本文件以供参考(在记事本++上查看效果更好)
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图map_str = Substr(
demo_str,
Contains( demo_str, ".X." ),
Length( demo_str ) - Contains( demo_str, ".X." ) -1
);
注意:在脚本索引中查找 Stbstr() 函数的定义和示例
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图这是很好的解释@jthi 。
快速提问:
下面的语句将从列表的第二行开始读取数据。 我不想阅读包含大括号“}”的最后一行。
如何在脚本中定义结束行
map_str = Substr(demo_str, Contains(demo_str, ".X."));
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图您需要以这样的方式操作从 Load Text File() 获得的字符串,以便最终得到仅包含文本文件的晶圆图部分的字符串。 这不会给出所需的最终字符串,但会给出您可以做什么的想法。 请参阅脚本索引(和 JMP 帮助)了解 Substr 和 Contains 的工作原理。 它还有一个使用单词和包含的选项,这也需要一些修改才能获得正确的列表。
Names Default To Here(1);
demo_str = "SOMETHING
TEXT
EXAMPLE
MAP = {
.X.
XXX
.X.
}";
map_str = Substr(demo_str, Contains(demo_str, "MAP = {"));
show(map_str);
stop();
demo_list = Words(demo_str, "\!N");
map_start = Contains(demo_list, "MAP = {");
map_list = demo_list[map_start::N Items(demo_list)];
show(map_list);
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图抱歉再次打扰您。 我尝试了 substr 但代码中有一些不正确的地方。 如果可以修改就太好了
map_str = Load Text File();
l = Words( map_str, "\!N" );
rowc = N Items( l );
colc = N Items( Words( l[21], "" ) ); //// edits
dt = New Table( "Untitled",
Add Rows( rowc * colc ),
New Column( "X", Numeric, Continuous ),
New Column( "Y", Numeric, Continuous ),
New Column( "bin", Character, Nominal, Label( 1 ) )
);
For Each( {line, idx}, l,
cur_rows = ((idx - 1) * colc :: (idx * colc - 1)) + 1;
dt[cur_rows, "X"] = ((1 :: colc))`;
dt[cur_rows, "Y"] = (J( 1, colc ) * (idx))`;
dt[cur_rows, "bin"] = substr( line, 1 );
);
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图您应该使用某种方法来仅获取晶圆图(如果您只关心它)。 目前您正在使用整个文本文件。 一些选项是
- 正则表达式
- 带有包含的子字符串
- 单词并在 {} 上拆分
- 单词和行拆分更改并将其与包含合并
- 硬编码线并根据这些线获取晶圆图(通常是非常糟糕的主意)
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图@jthi
只是一个简单的问题
实际的文本文件在开始时包含晶圆信息。 我想存储第 21 行的数据。 我将jsl修改如下。 它确实按预期读取。 有什么建议么?

map_str = Load Text File();
l = Words( map_str, "\!N" );
rowc = N Items( l );
colc = N Items( Words( l[21], "" ) ); //// edits
dt = New Table( "Untitled",
Add Rows( rowc * colc ),
New Column( "X", Numeric, Continuous ),
New Column( "Y", Numeric, Continuous ),
New Column( "bin", Character, Nominal, Label( 1 ) )
);
For Each( {line, idx}, l,
cur_rows = ((idx - 1) * colc :: (idx * colc - 1)) + 1;
dt[cur_rows, "X"] = ((1 :: colc))`;
dt[cur_rows, "Y"] = (J( 1, colc ) * (idx))`;
dt[cur_rows, "bin"] = Words( line, "" );
);
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图这是一部杰作。 非常感谢! :笑脸:
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图使用更简单的表
Names Default To Here(1);
// Simple example table
dt = New Table(
"Untitled",
Add Rows(9),
New Column("X", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 1, 2, 3, 1, 2, 3])),
New Column("Y", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 1, 2, 2, 2, 3, 3, 3])),
New Column("bin", Character, "Nominal", Set Values({".", "X", ".", "X", "X", "X", ".", "X", "."}))
);
//empty string initialization
str = "";
// get unique values for Y
// I will use Associative array instead of Summarize to keep correct format of values
// Summarize would change them to strings
y_uniq = Associative Array(:Y) << get keys;
For Each({cur_y}, y_uniq,
cur_line_rows = Loc(dt[0, "Y"], cur_y); // Loc() with datatable subscripting
line_bins = dt[cur_line_rows, "bin"]; // more datatable subscripting
bin_str = Concat Items(line_bins, "");
str = str || bin_str || "\!N";
);
// remove extra whitespace
str = Trim Whitespace(str);
Write(str);


回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图赞赏@jthi
我是 JSL 编码新手。 你能分享一个例子吗? 仅供参考
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图初始化空字符串,按顺序循环表 Y 值,获取当前 y 的行号,使用这些行号获取 bin,将这些 bin 添加到初始化字符串(Concat Items() 应该对此有所帮助),添加行更改并继续到下一个 Y。 如果需要的话,循环后修剪空格。
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图它的作用就像魅力一样。 多谢@jthi ,
我正在尝试将文本文件中的单词导入到 jmp 数据表中,然后为 jmp 表中的这些 bin 分配不同的字母,然后使用原始格式转换回文本文件
map_str =
".....GGG.....
....BGGGG....
...BGGGGGG...
..GGGGGGGGG..
.GGGGGGBBGGG.
GGGGGGGBBGGGB
GGGGGGGGGGGGB
GGGGGGGGGGGGB
.GGGGGGGGGGG.
..GGGGGGGGG..
...GGGGGGG...
....GGGGG....
.....GGG.....";
如何将数据表 X 、 Y 和 bin 转换回文本文件格式并保持格式不变。 有什么建议吗?
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图我无法分享我使用的代码,但这是一个包含一些想法的快速示例
Names Default To Here(1);
// load text file
// parse interesting things
// get map to string
map_str =
".....GGG.....
....BGGGG....
...BGGGGGG...
..GGGGGGGGG..
.GGGGGGBBGGG.
GGGGGGGBBGGGB
GGGGGGGGGGGGB
GGGGGGGGGGGGB
.GGGGGGGGGGG.
..GGGGGGGGG..
...GGGGGGG...
....GGGGG....
.....GGG.....";
l = Words(map_str, "\!N");
rowc = N Items(l);
colc = N Items(Words(l[1], ""));
dt = New Table("Untitled",
Add Rows(rowc * colc),
New Column("X", Numeric, Continuous),
New Column("Y", Numeric, Continuous),
New Column("bin", Character, Nominal, Label(1))
);
For Each({line, idx}, l,
cur_rows = ((idx - 1) * colc::(idx * colc - 1)) + 1;
dt[cur_rows, "X"] = ((1::colc))`;
dt[cur_rows, "Y"] = (J(1, colc) * (idx))`;
dt[cur_rows, "bin"] = Words(line, "");
);
nw = New Window("test",
H List Box(
align("center"),
Text Box(map_str, <<SET font="" name=""></SET>

回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图@jthi
我想将附加文本文件中的模具位置和 jmp 数据表 X 列和 Y 列中的字母存储起来。 H如何使用JSL将txt文件作为表格数据处理?

JMP 表:

回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图谢谢@jthi
您介意分享代码以便我参考吗?
谢谢,
杰克
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图我已经使用 JMP 将几种不同类型的晶圆图格式化为基于文本文件的 XY 坐标(和地图文件)。 通过“手动”脚本来完成它,我认为这个过程是这样的:
- 解析文本文件并获取重要信息(Regex、Words 和其他字符函数在这里很有帮助)
- 行数、列数
- X尺寸、Y尺寸
- Bin 类型(尤其是 null/empty 类型)
- 晶圆图
- 任何其他信息(晶圆 ID、类型...)
- 创建新的数据表,您可以将结果收集到其中
- 行数很可能是行数 * 列数
- 您至少需要 X 和 Y 列,如果您对不同的 bin 感兴趣,还需要为其添加列
- 使用 Words(wafermap_txt, "\!N") 循环晶圆图字符串以获取每一行,并根据您要填充的列乘以 xsize/ysize 来构建值。
- 如果您不关心宽度和高度并且可以仅使用 1 / 固定值,则此步骤会容易得多
- 将它们编码为 JMP 地图文件所需的坐标也可能是一个好主意,这允许您使用尺寸构建地图形状文件。
- 如果您只对晶圆图感兴趣,则可以省略空箱,但在构建地图时必须考虑到这一点
回复:将文本文件中的 x 和 y 值导入 jmp 表并创建晶圆图搜索 jmp 插件和过去有关晶圆图的讨论。 那里有很多答案