我必須導入一些文字文件,其中逗號(,)用作小數分隔符號。 我不想更改英語/使用 JMP 設定的設置,否則我的其他導入和腳本將停止工作,所以我想嘗試 JMP 16.1 中的新功能(用於在 JMP 中取得和設定顯示語言的 JSL 命令) 那@傑夫·珀金森提及。
所以我開始建立我的小腳本:
</CODE></P><PRE><CODE class=" language-jsl">Get Preferences( Custom Locale Settings );
Preferences( Custom Locale Settings( Decimal Separator(",") ) );
Open(
"myfile",
columns(
...
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Other( "0x3b" ), 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( 0 ),
Column Names Start( 1 ),
Data Starts( 1 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
</CODE></P><P>但什麼也沒有發生 - 逗號不會被識別為小數分隔符,並且數字列被導入為字元列,這完全不是我想要的。</P><P>那麼有什麼幫助嗎? 我的導入設定是否有問題(除了使用分號作為字段分隔符號結尾之外,我沒有更改任何標準首選項)或者我是否發現了錯誤?</P><P>我的 JMP 版本是 16.1,我使用 Windows 版本(如果有幫助的話)。</P></LINGO-BODY><LINGO-LABS id="lingo-labs-411484" slang="en-US" mode="NONE"><LINGO-LABEL>自動化和腳本編寫</LINGO-LABEL><LINGO-LABEL>消費者與市場研究</LINGO-LABEL><LINGO-LABEL>大規模客製化</LINGO-LABEL><LINGO-LABEL>視窗</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-428895" slang="en-US" mode="NONE">回覆:在 JMP 16 中使用小數分隔符號逗號匯入 - 自訂區域設定不起作用</LINGO-SUB><LINGO-BODY id="lingo-body-428895" slang="en-US" mode="NONE"><P>與 JMP 支援人員交談後,我們找到了這個解決方案:</P><PRE><CODE class="">Preferences( Custom Locale Settings( Decimal Separator(",") ) );
Open(
"/C:/Temp/test_import.csv",
columns(
New Column("Number", Numeric, "Continuous", Format("Best", 12)),
New Column("Number2", Numeric, "Continuous")
),
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Other(";"), CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(1),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(1),
Data Starts(2),
Lines To Read("All"),
Year Rule("20xx")
)
)
關鍵是在匯入過程中設定「使用區域設定(1)」並將列設定為數字。
似乎我發現了一個錯誤 - 是的,重新編碼或腳本可以解決它,但我想以一種聰明的方式嘗試它...
你好費利
我認為解決問題的快速方法是使用重新編碼功能。 轉到列標題,右鍵單擊並啟動“重新編碼”,然後轉到紅色三角形“轉換為字元”,再次轉到紅色三角形“替換字串”並將字串更改為您想要的內容。 之後您可以將列字元變更回數字。
希望這有幫助嗎?
問候
魯
這可能是個錯誤(您可以聯繫support@jmp.com ),但是你能用腳本暫時擺脫這個問題嗎? 例如,您可以將“,”替換為“.”。在特定列中,然後嘗試將列轉換為數字。