JMP 18 无法导入具有正确数据类型的 Excel 数据我最近升级到了 JMP 18,但在使用 JMP 16 开发的用于导入 Excel 文件的脚本时遇到了问题。具体来说,JMP 18 在导入表时无法正确识别数据类型:
- 许多每行都有字符的列被导入为数字。
- 数字列(没有缺失数据)被作为字符导入。
我注意到 Excel 导入向导允许手动指定数据类型,但是对于 1000 多列(例如调查数据),手动调整每一列是不切实际的。
在 JMP 18 中导入 Excel 文件时,有没有办法自动化或全局设置正确的数据类型?
任何指导都将不胜感激!
自动化和脚本数据访问回复:JMP 18 未导入具有正确数据类型的 Excel 数据如果您能提供一个示例 Excel 表,那将会非常有帮助。
回复:JMP 18 未导入具有正确数据类型的 Excel 数据嗨,吉姆
附件是 Excel 文件和导入后生成的 JMP 文件。源 ID 和状态列正确导入为字符。但是,源描述、提供商电子邮件和文件扩展名列被导入为数字,而这些列仅包含文本。此外,到期日列被导入为字符,而它应该是数字。
我在使用 JMP 16 时从来没有遇到过这个问题,但现在我的所有 Excel 导入脚本都失败了。
问候
肖恩
回复:JMP 18 未导入具有正确数据类型的 Excel 数据对我来说,Excel 似乎导入得很好。


您是否尝试过使用 Open 然后复制该脚本,而不是使用在旧版本 JMP 中创建的脚本?如果我没记错的话,JMP18 确实改变了将 Excel 导入 JMP 的方式。
回复:JMP 18 未导入具有正确数据类型的 Excel 数据我之前打开时使用的是 Excel 向导,而不是之前创建的脚本。但是,当我再次打开它时,它显示所有列都是字符,甚至包括数字列,例如到期日,与上面的导入相同。导入时我没有做任何不同的事情。

回复:JMP 18 未导入具有正确数据类型的 Excel 数据修复那些应该由字符变为数字的列比修复丢失的数据要容易得多。这是一个有点肮脏的解决方案,我以前没有用过类似的东西,但它可能会有用
Names Default To Here(1);
dt = Open(
"$DOWNLOADS/Sample Excel table file import.xlsx",
Worksheets("Sheet1"),
Use for all sheets(0),
Concatenate Worksheets(0),
Create Concatenation Column(0),
Worksheet Settings(
1,
Has Column Headers(1),
Number of Rows in Headers(1),
Headers Start on Row(1),
Data Starts on Row(2),
Data Starts on Column(1),
Data Ends on Row(0),
Data Ends on Column(0),
Replicated Spanned Rows(0),
Replicated Spanned Headers(0),
Suppress Hidden Rows(0),
Suppress Hidden Columns(0),
Suppress Empty Columns(0),
Treat as Hierarchy(0),
Multiple Series Stack(0),
Import Cell Colors(0),
Limit Column Detect(1),
Column Separator String("-")
)
);
collist = dt << Get Column Names("String");
For Each({colname}, collist,
r = Column(dt, colname) << Set Data Type("Numeric", << Fail On Conversion Error, <<RETURN failed="" rows=""></RETURN>回复:JMP 18 未导入具有正确数据类型的 Excel 数据谢谢 Jarmo
我可以在 Excel 向导中将其修复为数字并保存新脚本。对于列数较少的表来说,这不是什么大问题,但我导入了一些有 100 列的表,无法逐一检查它们以确定哪些是数字,哪些是字符。在我早期版本的 JMP 中运行良好。
回复:JMP 18 未导入具有正确数据类型的 Excel 数据这就是为什么我会在将文件导入 JMP Table 后使用简单的脚本进行转换的原因。您可以将该类型的脚本转换为工具栏项、插件或自定义函数,以便根据需要更轻松地执行它。
JMP18 确实改变了 JMP 导入 excel 文件的方式JMP Note 655981 - JMP® 18 中对 Microsoft Excel 文件的导入方式的更改可能是您看到差异的原因。也可能是 JMP 无法正确处理 Excel 表格,如果该数据仅在工作表中,JMP 似乎能够更好地检测类型
