Je dois importer des fichiers texte où la virgule (,) est utilisée comme séparateur décimal. Je ne veux pas modifier mes paramètres depuis l'anglais/Utiliser les paramètres JMP car sinon mes autres importations et scripts cesseraient de fonctionner, alors j'ai pensé essayer la nouvelle fonctionnalité de JMP 16.1 ( Commande JSL pour obtenir et définir la langue d'affichage dans JMP ) cette @Jeff_Perkinson mentionné.
Alors je me lance dans la construction de mon petit script :
</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>Mais rien ne se passe - la virgule n'est pas reconnue comme séparateur décimal et les colonnes numériques sont importées en tant que colonne de caractères, ce qui n'est exactement pas ce que je voulais.</P><P>Alors de l'aide ? Y a-t-il quelque chose qui ne va pas dans mes paramètres d'importation (je n'ai modifié aucune préférence standard, sauf que j'utilise un point-virgule comme séparateur de fin de champ) ou ai-je trouvé un bogue ?</P><P>Ma version JMP est 16.1 et j'utilise la version Windows, si cela peut vous aider.</P></LINGO-BODY><LINGO-LABS id="lingo-labs-411484" slang="en-US"><LINGO-LABEL>Script</LINGO-LABEL><LINGO-LABEL>les fenêtres</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-412622" slang="en-US">Re: Importation avec virgule de séparation décimale dans JMP 16 - Les paramètres régionaux personnalisés ne fonctionnent pas</LINGO-SUB><LINGO-BODY id="lingo-body-412622" slang="en-US"><P>Bonjour Féli</P><P>Je pense que le moyen le plus rapide de résoudre votre problème consiste à utiliser la fonction de recodage. Allez dans l'en-tête de la colonne, faites un clic droit et activez "recoder", puis allez dans le triangle rouge "convertir en caractère" allez à nouveau dans le triangle rouge "remplacer la chaîne" et changez la chaîne en ce que vous voulez. Ensuite, vous pouvez changer les caractéristiques de la colonne en arrière numérique.</P><P>J'espère que cela vous sera utile ?</P><P> </P><P>Cordialement</P><P> </P><P>Lu</P></LINGO-BODY><LINGO-SUB id="lingo-sub-426293" slang="en-US">Re: Importation avec virgule de séparation décimale dans JMP 16 - Les paramètres régionaux personnalisés ne fonctionnent pas</LINGO-SUB><LINGO-BODY id="lingo-body-426293" slang="en-US"><P>Il semble que j'ai trouvé un bogue - oui, le recodage ou l'écriture de scripts peuvent le résoudre, mais je voulais l'essayer d'une manière intelligente...</P></LINGO-BODY><LINGO-SUB id="lingo-sub-428895" slang="en-US">Re : Importer avec une virgule de séparation décimale dans JMP 16 - Les paramètres régionaux personnalisés ne fonctionnent pas</LINGO-SUB><LINGO-BODY id="lingo-body-428895" slang="en-US"><P>Après avoir discuté avec le support JMP, nous avons trouvé cette solution :</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")
)
)
La clé est de définir Utiliser les paramètres régionaux (1) et de définir les colonnes sur numérique lors de l'importation.
Cela pourrait être un bogue (vous pouvez contacter support@jmp.com ), mais pourriez-vous vous en sortir temporairement par un script ? Vous pouvez par exemple remplacer le "," par "." dans des colonnes spécifiques, puis essayez de convertir les colonnes en numérique.