我在使用「開啟」指令之前製作的腳本是 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開發