打開並處理不同的 Excel 文件大家好
我正在嘗試構建一個腳本,該腳本將從文件夾中打開一個 excel 文件,並根據可能不時更改的條件過濾該文件。
我需要用戶根據他需要的 3-4 列來說明當時的文件名和條件。
我試圖手動執行此操作並使用腳本,但它從未奏效。
有人可以幫忙嗎?
回复:打開並處理不同的 Excel 文件向上?回复:打開並處理不同的 Excel 文件這聽起來更像是我會做的事。我的老闆堅持一切都通過代碼自動進行,但我知道 sql,所以它可能更容易。
你能解釋一下我如何在 jmp 文件上使用 sql 查詢嗎?你能舉例說明打開和過濾 jsl 代碼嗎?
先感謝您
回复:打開並處理不同的 Excel 文件另一種方法是將 Excel 工作簿視為關係型數據庫. 您可以從對話框中獲取用戶輸入,並為第二個參數創建 SQL 語句打開數據庫()功能。 使用打開()函數,然後從 JMP 中過濾數據。 我只是想讓你知道另一種方法。
回复:打開並處理不同的 Excel 文件社區討論論壇可幫助個人解決問題並幫助他們完成學習 JMP 的旅程。它不是用來請求按照他們的規範編寫腳本的地方。我相信花時間閱讀文檔“發現 JMP”、“使用 JMP”和“腳本指南”對您最有利,以幫助您組裝您想要的應用程序。 @gzmorgan0為您的入門提供了良好的“支持”。下面,我採用了她的代碼並編寫了一個非常簡單的腳本,這應該會給你第二個“支持”,讓你開發你的腳本。
Names Default To Here( 1 );
nw = New Window( "Input File Name",
V List Box(
H List Box(
Text Box( "Enter File Name: " ),
theName = Text Edit Box( "",
<<SET width=""></SET>
如果您在開發腳本的過程中遇到無法解決的具體問題或問題,社區將隨時為您提供幫助。
回复:打開並處理不同的 Excel 文件我會嘗試更具體
這是我需要能夠完成的步驟:
1. 根據他的名字導入一個 excel 文件——我需要一個變量,當用戶插入文件名時,它會更新 jsl 並打開特定文件。
2.過濾——我需要能夠過濾掉一些東西——比如只在年齡=15或國家=美國時包括——或者按列J=25或G=英格蘭
3. 擬合模型——城市將是X軸,薪水將是Y軸。
提前致謝。
回复:打開並處理不同的 Excel 文件@Tomer_Aminizar ,
有多種方法可以做到這一點,但您應該選擇對您的用戶環境有意義的方法。
下面的腳本提供了一個選項,使用選擇文件() . 注意,出現提示時選擇 Team Results.xlsx
Names Default To Here( 1 );
//***Select the file Team Results.xlsx
xlfid = Pick File(
"Select the Excel File", //prompt
"$Sample_Import_Data", //starting path
{"Excel Files|xls;xlsx", "Excel Files|*"}, //file types
1,
0,
""
);
//xlfid is the use selected file path
dt = Open( xlfid, //file path
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 1 ),
Worksheet Settings(
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 3 ),
Data Starts on Row( 4 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
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( "-" )
)
);
有使用 SQL 數據庫命令的選項,但這可能需要您的用戶設置與 Excel 文件的 OBDC 連接。
如果 Excel 文件不是很大,創建文件並使用 JSL dt << Select Where( ) 語法來獲得滿足特定條件的觀察結果可能會更容易。
看來您是 JMP 腳本語言的新手( JSL ) 。 真的嗎?JMP 將為 JMP 平台(打開、排序、適合 YbyX 等)捕獲腳本 (JSL),但它不會記錄您採取的點擊步驟。 腳本編寫者有責任找到等效的 JSL 語法。
如果你是新手,我建議你熟悉一下幫助 > 腳本索引 >和搜索。 JMP 社區有助於查找 JSL 函數(對象消息)以完成某些任務。
一個簡單的安全(無 IP 數據)示例會很有用。
祝你好運。
回复:打開並處理不同的 Excel 文件我會嘗試更具體
這是打開文件的代碼
Open(
"\\source\fileName.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
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( 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( "-" )
)
)
現在我希望用戶可以選擇根據他插入的名稱打開該文件。
問題的第二部分是我希望用戶有一種基於一些固定過濾器來過濾文件的方法。例如,調用 people_count 的列 J 等於 60,或者調用類型的列 G 等於旅行或商務。
這個腳本的主要目的是讓用戶使用他們通常使用的過濾器快速打開文件。
謝謝您的幫助
回复:打開並處理不同的 Excel 文件您所描述的是可能的,但我們需要更多有關您遇到問題的信息。
你試過什麼? 你遇到了什麼錯誤或問題?