导入文本文件无法遵循默认字段宽度设置<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个问题,我经常导入具有长数字字段的文本文件,如“20141214115959”形式的“日期时间”,并且JMP继续将其显示为科学记数法中的截断数字,如“2.0141e + 13” ”。 为了正确显示数字,我必须手动进入列设置并增加宽度;导入文本文件时,自动字段宽度始终为10。 但是JMP有一个程序偏好“默认字段宽度”,我也试过设置,但是JMP甚至没有为了导入文本文件而尊重这个设置。 只有在JMP表中创建新列时,才会遵守“默认字段宽度”。
这必须是一个错误,对吧?为什么要编写软件,以便导入文件时的默认字段宽度始终硬编码为10,并且不使用首选项?是否有另一种方法可以正确设置字段宽度而无需在导入后手动编辑列?
MS Excel有同样的问题,我本来希望JMP做得更好,但我想情况并非如此。
Re:导入文本文件无法遵循默认字段宽度设置您的示例是一个用户编码的整数,JMP无法将其识别为某个时间点。您可以将此值作为字符串导入,然后在新的数值数据列的公式中使用JSL函数将其解析为JMP时间和日期值。JMP表示任何时间点为1904年1月1日午夜以来的秒数。您可以使用列格式以更友好的方式显示此值,例如“m / d / yh:m:s”或任何其他适合您的格式。
此原型脚本可以转换为列公式:
//你的例子长号,代表一个时间点
日期和时间=“20141214115959”;
//通过解析字符串值转换为JMP时间
日期时间=日期MDY(
Num(Substr(日期和时间,5,2)),
Num(Substr(日期和时间,7,2)),
Num(Substr(日期和时间,1,4))
)+
//添加小时
小时(
Num(Substr(日期和时间,9,2))
)+
//添加分钟
在几分钟内(
Num(Substr(日期和时间,11,2))
)+
//添加秒
Num(Substr(日期和时间,13,2));
//现在以用户友好的形式格式化秒数
格式(日期时间,“m / d / yh:m:s”);
Re:导入文本文件无法遵循默认字段宽度设置这确实看起来像一个疏忽。我会注意到它,看看我们是否可以在将来的版本中解决它。
同时,下面的脚本会将当前数据表中所有选定列的字段宽度更改为20。
cols = current data table() << Get Selected Columns;
for (i=1, i<=nitems(cols), i++,
column(cols[i])<<set field width(20);
);
您可以创建自定义菜单或工具栏按钮来执行此操作。
-Jeff