大家好,
我正在使用 Open 方法將各種結構化數據文件導入到 jmp 數據框中。 我很難看到我在第二種情況下做錯了什麼,因為我能夠按照我希望的第一個代碼塊使用該方法進行子集化。 任何幫助,將不勝感激!
[文件名] 是文件名的字符串格式,不是變量引用。 根據公司政策,我省略了全名。
使用選擇列的工作子集:
sl = Open(Pick File()/"[file name].xls",
Select Columns ("Description", "Sample Mix", "Analyte Type", :Name("Threshold (nA)"), "Expected Outcome", "Lane", "Heater")
) << Set Name ("Sample Lookup");不工作子集(返回所有原始列):
sd = Open (Pick File()/"[file name].csv",
Select Columns ("Accession Number", "Pad Name", " Warnings")
) << Set Name("Signal Data");我唯一能想到的是為什麼底例不基於列進行子集化是 xls 與 csv 的不同數據格式。 但如果是這種情況,我將如何糾正呢? 謝謝你!
你好,
您是否檢查過 CSV 導入參數是否包含正確的行作為列標題? 它可能就像將 Open 語句替換為具有正確參數的 Import Data 語句一樣簡單
只是一個想法。
最好的
TS
有一種特定於 csv 的方法可以省略列。 select columns() 可能需要一些文檔來說明它特定於 JMP 數據表。 (編輯:發送給開發團隊的說明)
編輯:使用 csv 導入嚮導後源腳本中的 JSL
Open(
"$DOWNLOADS/Big_Class.csv",
columns(
New Column( "name", Character, "Nominal" ),
Omitted Column( . ), // leave out the "age" column
New Column( "sex", Character, "Nominal" ),
Omitted Column( . ), // leave out the "height" column
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
First Named Column( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
編輯:省略可以代替新的像這樣
Omitted Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
記錄遺漏的內容。 我很確定這些值被忽略了。 如果有很多列要忽略,也可以更輕鬆地編輯 JSL。
嗨蒂埃里,
由於我是 JMP 的 JSL 方面的新手,我目前認為“打開”是所有類型的主要功能,但我將研究 csv 類型文件的“導入數據”。 感謝您的指導!
謝謝,
尼爾·斯雷詹
嗨克雷奇,
哇,謝謝你解決了屏幕錄製的麻煩,並展示了 JMP 如何記錄導入和排除過程並為其複制源代碼。 這是非常有用的信息,同樣感謝您為“選擇列”請求更多文檔,因為在通讀它時它對我自己來說不是很直觀。 感謝您的幫助!
尊敬,
尼爾·斯雷詹