短いバージョン: 私が作業している CSV ファイルには、コンマを含むテキスト文字列が含まれることがあります。
このテーブルを開くために私が書いたJSLは、文字列をコンマで非常にきれいに分割し、コンマの後の部分を次のデータ列に送信します-まさにそれが行きません。
このファイルを開くと、Excel はそれを正しく取得します。
JMP/JSL で、この 1 つのコンマを区切り文字ではなく単なる文字として扱うようにする方法はありますか?
または別の言い方をすれば、以下のスクリプトを調整して、引用符内のカンマが潜在的な区切り記号として無視されるようにする方法はありますか?
詳細:
Windows 7 上で動作する JMP 13.2.1、64 ビット。
csv ファイルの抜粋:
メモ帳でテキストとして開くと、問題のある行には次のものが含まれます。
...11:00、スキップ、「捨てられた光、彼らは別の光を立てる」、、、、
注: テスト エントリを囲む二重引用符は、私が知る限り、データ内の唯一のものです。
Excel が示していることと、JMP からの脱却を望んでいること:
| 11列目 | 12列目 |
| コメント | 害虫の発見 |
| 捨てられた光、彼らには別の光がある | |
代わりにJMPが提供するもの:
| 11列目 | 12列目 |
| コメント | 害虫の発見 |
| 捨てられた光 | 彼らは彼らが立てる別の光を持っています |
列 12 / 害虫の調査結果は、通常、発見された昆虫、ネズミなどについて何かを述べており、コメントの後半を表示するべきではありません。 この行では空白にする必要があります。
テーブルを開くために使用しているスクリプトは次のとおりです。
Open(
qfull,
columns(
Column( "Company", Character, "Nominal" ),
Column( "Address", Character, "Nominal" ),
Column( "City", Character, "Nominal" ),
Column( "State", Character, "Nominal" ),
Column( "Zip", Character, "Nominal" ),
Column( "Area", Character, "Nominal" ),
Column( "Device Type", Character, "Nominal" ),
Column( "Device Name", Character, "Nominal" ),
Column( "Date", Numeric, Informat( "m/d/y h:m" ), "Continuous", Format( "ddmonyyyy", 19 )),
Column( "Date", Character, "Nominal"),
Column( "Activity", Character, "Nominal" ),
Column( "Comment", Character, "Nominal" ),
Column( "Pest Findings", Character, "Nominal" ),
Column( "Questions", Character, "Nominal" ),
Column( "Materials", Character, "Nominal" )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
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( 7 ),
Data Starts( 8 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
このスクリプトを調整して、引用符内のカンマが潜在的な区切り記号として無視されるようにする方法はありますか?
これはバグです。JMP は、値の引用部分を分割すべきではありません。 残念ながら、これが修正されるまでは JMP 14.1 になります。
ブライアン・コーコラン
JMP開発
同様の問題がありますが、スクリプト化されたコンテキストではありません。 CSV データ ファイルにリンクされた Triple-S ファイルを開いています。 自由形式のデータは CSV 標準に従って適切に引用されますが、JMP は依然として、引用符で囲まれた文字列内のコンマをフィールド セパレータとして解釈しています。
例えば
123456,1,"Lorem ipsum dolor sit amet, consectetuer...",3,5
正しい 5 列ではなく、6 列に解析されます。
環境設定でテキストファイルのさまざまなインポート設定を試しましたが、効果がありません。
任意の考えをいただければ幸いです。 ありがとう!
試してみてください
Strip Quotes<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN> <SPAN class="token punctuation">)</SPAN>