Tengo que importar algunos archivos de texto donde la coma (,) se usa como separador decimal. No quiero cambiar mi configuración de Inglés / Usar configuración de JMP ya que, de lo contrario, mis otras importaciones y scripts dejarán de funcionar, así que pensé en probar la nueva función en JMP 16.1 ( Comando JSL para obtener y establecer el idioma de visualización en JMP ) ese @Jeff_Perkinson mencionado.
Así que empiezo a construir mi pequeño guión:
</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>Pero no sucede nada: la coma no se reconoce como separador decimal y las columnas numéricas se importan como una columna de caracteres, que no es exactamente lo que quería.</P><P>Entonces, ¿alguna ayuda? ¿Hay algún problema en mi configuración de importación (no cambié ninguna de las preferencias estándar, excepto que uso el punto y coma como separador de fin de campo) o encontré un error?</P><P>Mi versión de JMP es 16.1 y uso la versión de Windows, si eso ayuda.</P></LINGO-BODY><LINGO-LABS id="lingo-labs-411484" slang="en-US"><LINGO-LABEL>Scripting</LINGO-LABEL><LINGO-LABEL>Ventanas</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-412622" slang="en-US">Re: Importar con coma separador decimal en JMP 16 - La configuración regional personalizada no funciona</LINGO-SUB><LINGO-BODY id="lingo-body-412622" slang="en-US"><P>Hola feli</P><P>Creo que la forma más rápida de resolver su problema es utilizar la función de recodificación. Vaya al encabezado de la columna, haga clic con el botón derecho y active "recodificar", luego vaya al triángulo rojo "convertir a carácter" nuevamente vaya al triángulo rojo "reemplazar cadena" y cambie la cadena a lo que desee. Posteriormente, puede cambiar el carácter de la columna de nuevo numérico.</P><P>¿Espero que esto sea de ayuda?</P><P> </P><P>Saludos</P><P> </P><P>Lu</P></LINGO-BODY><LINGO-SUB id="lingo-sub-426293" slang="en-US">Re: Importar con coma separador decimal en JMP 16 - La configuración regional personalizada no funciona</LINGO-SUB><LINGO-BODY id="lingo-body-426293" slang="en-US"><P>Parece que encontré un error, sí, la recodificación o la secuencia de comandos pueden resolverlo, pero quería probarlo de una manera inteligente ...</P></LINGO-BODY><LINGO-SUB id="lingo-sub-428895" slang="en-US">Re: Importar con coma separadora decimal en JMP 16 - La configuración regional personalizada no funciona</LINGO-SUB><LINGO-BODY id="lingo-body-428895" slang="en-US"><P>Después de hablar con el soporte de JMP, encontramos esta solución:</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 clave es configurar Usar configuración regional (1) y configurar las columnas en numérico durante la importación.
Esto podría ser un error (puede ponerse en contacto con support@jmp.com ), pero ¿podría escribir un guión para salir de esto temporalmente? Por ejemplo, podría reemplazar el "," con "." en columnas específicas y luego intente convertir las columnas a Numérico.