Ich muss einige Textdateien importieren, in denen Komma (,) als Dezimaltrennzeichen verwendet wird. Ich möchte meine Einstellungen nicht von „Englisch/JMP-Einstellungen verwenden“ ändern, da sonst meine anderen Importe und Skripte nicht mehr funktionieren, also dachte ich, ich probiere die neue Funktion in JMP 16.1 aus ( JSL-Befehl zum Abrufen und Festlegen der Anzeigesprache in JMP ) Das @Jeff_Perkinson erwähnt.
Also mache ich mich an die Erstellung meines kleinen Skripts:
</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>Aber es passiert nichts – das Komma wird nicht als Dezimaltrennzeichen erkannt und die numerischen Spalten werden als Zeichenspalte importiert, was genau nicht das ist, was ich wollte.</P><P>Also Hilfe? Stimmt etwas mit meinen Importeinstellungen nicht (ich habe keine Standardeinstellungen geändert, außer dass ich Semikolon als Feldende-Trennzeichen verwende) oder habe ich einen Fehler gefunden?</P><P>Meine JMP-Version ist 16.1 und ich verwende die Windows-Version, falls das hilft.</P></LINGO-BODY><LINGO-LABS id="lingo-labs-411484" slang="en-US" mode="NONE"><LINGO-LABEL>Automatisierung und Skripterstellung</LINGO-LABEL><LINGO-LABEL>Verbraucher- und Marktforschung</LINGO-LABEL><LINGO-LABEL>Massenanpassung</LINGO-LABEL><LINGO-LABEL>Windows</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-428895" slang="en-US" mode="NONE">Betreff: Import mit Dezimaltrennzeichen Komma in JMP 16 – Benutzerdefinierte Gebietsschemaeinstellungen funktionieren nicht</LINGO-SUB><LINGO-BODY id="lingo-body-428895" slang="en-US" mode="NONE"><P>Nach einem Gespräch mit dem JMP-Support haben wir diese Lösung gefunden:</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")
)
)
Der Schlüssel besteht darin, „Regionale Einstellungen verwenden“ (1) festzulegen und die Spalten während des Imports auf numerisch festzulegen.
Scheint, als hätte ich einen Fehler gefunden – ja, Neukodierung oder Skripting können ihn beheben, aber ich wollte es auf clevere Weise ausprobieren ...
Hallo Feli
Ich denke, der schnellste Weg, Ihr Problem zu lösen, besteht darin, die Recode-Funktion zu verwenden. Gehen Sie zur Spaltenüberschrift, klicken Sie mit der rechten Maustaste und aktivieren Sie „Neu kodieren“. Gehen Sie dann zum roten Dreieck „In Zeichen konvertieren“, gehen Sie erneut zum roten Dreieck „Zeichenfolge ersetzen“ und ändern Sie die Zeichenfolge in die gewünschte Zeichenfolge. Anschließend können Sie die Spaltencharakteristik wieder numerisch ändern.
Hoffe das ist hilfreich?
Grüße
Lu
Dies könnte ein Fehler sein (Sie können sich an uns wenden support@jmp.com ), aber könnten Sie sich mit einem Skript vorübergehend aus dieser Situation befreien? Sie könnten zum Beispiel das „“, durch „“ ersetzen. in bestimmten Spalten und versuchen Sie dann, die Spalten in Numerisch zu konvertieren.