カンマ (,) が小数点記号として使用されているテキスト ファイルをインポートする必要があります。 設定を「英語/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">Re: 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)] を設定し、列を数値に設定することです。
バグを見つけたようです - はい、再コードまたはスクリプトで解決できますが、賢い方法で試してみたかったのです...
こんにちはフェリ
あなたの問題を迅速に解決する方法は、recode 機能を使用することだと思います。 列見出しに移動し、右クリックして「再コード」をアクティブにし、赤い三角形「文字に変換」にもう一度移動し、赤い三角形「文字列を置換」に移動して、文字列を希望する文字列に変更します。 その後、列の特性を数値に戻すことができます。
これがお役に立てば幸いです?
よろしく
ルー
これはバグである可能性があります (連絡してください) support@jmp.com ) ですが、一時的にこの状態から抜け出す方法をスクリプト化していただけますか? たとえば、「,」を「.」に置き換えることができます。特定の列で、列を数値に変換しようとします。