注册多个数据库 - 脚本大家好,
我想创建一个自动化脚本,从记录机器日志的 .csv 文件中提取数据。
这个文件糟透了,完全没有逻辑可言。
我成功让脚本检索到了数据,但最终得到的是一个数据表,我需要从中提取日志数据。由于文件不同,日志数量也不同,因此数据表的数量也不相同。
我希望能够将它们单独保存,或者更好的是,将它们保存为 csv 文件,以便我的同事可以使用它们。
我已经用这些查询语句完成了脚本,并且得到了一个数据表列表。你能帮帮我吗?
ext = dt3 << Subset(
By(:Name),
All rows,
Selected columns only(0),
columns(
:Time, :T1, :T2, :T7, :M1, :M2, :EV12, :EV13, :EV14, :"L-EV12"n, :"L-EV13"n, :"L-EV14"n,
:BR1, :"L-BR1"n, :PR2, :PR3, :PR4, :SPT1, :SPT2, :Curve T1, Number of heating cycles,
Date, Batch, Loading temperature, Heating cycle number, Heating cycle, Duration
)
)
编辑(jthi):添加了jsl格式。
自动化和脚本编写回复:保存多个数据库 - 脚本一旦将所有数据导入 JMP,继续在 JMP 中操作就会非常愉快。
当您将数据导出为 csv 或 excel 格式时,您将失去所有很棒的功能。
更好的做法是:将表格存储为 JMP 表格。
另一方面:解析数据——如果没有处理数据的目标,JMP 是否适用?
用Python可以做得更好。
回复:保存多个数据库 - 脚本当您使用 By 子集时,您将获得一个数据表引用列表,然后您可以遍历该列表并执行您想要的任何操作。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
// do something here
Show(dt_subset << get name);
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
您可以在“数据表”>“保存”下的“脚本索引”中找到保存 .csv 文件的示例。
注意:注册多个数据库 - 脚本如果 CSV 文件中没有匹配的模式,请使用正则表达式进行替换。
回复:保存多个数据库 - 脚本感谢您的反馈!
事实上,有几个目标:
对我来说:继续在 JMP 下处理数据,但最终我不需要提取的数据,只需要连接后的表格,这没关系,我可以用我的脚本做到这一点!
- 致我那些还没能成功让他们改用 JMP 的同事们
:快速访问不同的数据至关重要。但我仍然希望他们最终会转用 JMP!
无论如何,谢谢!
回复:保存多个数据库 - 脚本感谢您的反馈!
但我仍然无法使用保存功能……
我不知道该把它放在哪里才能正常工作;我试过这样放,但是没用……
对于每个({dt_subset}, ext,
显示(dt_subset << 获取名称);
);
对于每个({dt_subset}, ext,
dt_subset<< save;
);
回复:保存多个数据库 - 脚本Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
dt_subset << Save("$TEMP/" || (dt_subset << get name) || ".jmp");
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Open("$TEMP");
回复:保存多个数据库 - 脚本一切运转完美!
太感谢了 !!