我之前使用“打开”命令编写的 JSL 脚本现在太慢了。我的脚本现在需要 12 分钟才能执行。
我现在应该如何导入 Excel 表或修复此问题,但在 JMP 中
我曾经使用下面这段代码导入我的 excel 文件但是花费的时间太长了:
Open(
"/Z:/Shared/R&D/Runsheet.xlsx",
Worksheets(
{"Thickness"}
),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 33 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
dt1 = Current Data Table();
dt1 << Set Name( "Thickness");
// I do this for a few different tables and then combine the tables together using the code below. What is taking so long to run this code?
Data Table( "Thickness" ) << Join(
With( Data Table( "dt2" ) ),
Merge Same Name Columns,
Match Flag( 0 ),
By Matching Columns( :Run # = :Run #),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 ),
Output Table( "OutputTable" )
);
我一直使用相同的打开方式打开 Excel,没有发现任何变化。我打开了大约 100 个文件并将它们连接起来。如果您将 Excel 文件移动/复制到计算机(本地驱动器)然后运行脚本,它是否仍然很慢?
是的,我刚刚尝试过,当我将其移动到 C:\drive\ 时,也遇到了同样长时间的延迟(这次是 11 分钟,而不是 12 分钟)。
然后,我尝试通过仅导入一个表(或更具体地说,一个 Excel 文件的一个工作表)来查看问题是否出在表的导入或表的连接上,仍然需要 3 分钟,这有所改善,但仍然比使用 JMP 17 时要长得多。
该表确实有 2k 行和 33 列。有没有更快的方法来导入大型表格?
您的 100 个文件是否包含大表格?
有一次我在导入 Excel 文件时遇到了速度问题。
我发现有些单元格被合并了。删除这些单元格可以使速度提高几个数量级:
TS-00129314。
您在 Excel 中有合并单元格吗?
今天刚从 JMP 17 升级到 JMP 18,和你一样的问题。在 JMP 17 中打开一个 10 万行 100 列的 xlsm 文件需要 60 秒,而在 JMP 18 中则需要运行数小时才能完成文件打开。我不得不使用任务管理器强制关闭 JMP....请帮助我们解决 JMP。
@txnelson你知道 JMP 18 中有什么不同导致了这个问题吗?还有另一个帖子有同样的问题,我看到你在其他地方总是有很好的答案
你好,
您使用的是 JMP 18.1 吗?该版本已修复此问题。用于读取 Excel 文件的底层库在 JMP 17 和 18 之间发生了变化,并且合并单元格存在性能问题。当然,JMP 18.2 发布时也将包含此修复。
布莱恩·科克伦
JMP 开发