我有一个数据集,其中时间列的格式为“ Mon,30 Nov 2020 21:42:26 GMT”,JMP将此识别为字符数据类型。 有没有一种快速的方法可以将此列转换为数字连续类型?
这是一个小脚本,它将使用转换后的值创建一个新列。请注意,我假设当前带有字符日期的列称为“日期”。请将该脚本更改为真实列的名称。
dt = Current Data Table();
dt << New Column( "Date Time",
Format( "ddMonyyyy h:m:s", 22, 0 ),
Input Format( "ddMonyyyy h:m:s", 0 ),
,
formula(
Informat(
Word( 2, :Date, ", :" ) || Word( 3, :Date, ", :" ) ||
Word( 4, :Date, ", :" ) || " " ||
Word( 5, :Date, ", :" ) || ":" ||
Word( 5, :Date, ", :" ) || ":" ||
Word( 5, :Date, ", :" ),
"ddMonyyy h:m:s"
)
)
);
dt:Date Time << delete formula;
您可以交互方式进行更改。 选择数据列。 选择“列>列信息”。 将数据类型更改为数值。 将格式更改为与字符串匹配的日期格式。 您不需要这种方式的新列。
如果使用Mark的方法,则需要先删除多余的位。 我在“查找/替换”对话框中使用了正则表达式:
您必须运行两次。 第一次删除日期,第二次删除GMT。
正则表达式匹配三个字母,后跟一个逗号和一个空格,或者匹配一个空格,后跟GMT。
然后使用
在相同的时间更改数据类型*和*格式,否则将丢失值。
如果使用吉姆的方法,我认为最后的5-5-5应该是5-6-7。
如果@markbailey方法行不通,我使用此插件@brady_brady :数据表工具
数据表工具>特殊公式列>自定义日期公式编写器。