Configuración del formato de fecha y hora predeterminado de importación CSVHe estado usando una versión modificada del script aquí Combinar archivos-txt-or-csv para importar múltiples (1000's) de archivos CSV. El problema es que importa cualquier fecha en MM / DD / YY que, si no vive en los EE. UU., Significa que las fechas cambian entre correctas e incorrectas.
La única solución que he encontrado es que puede especificar la configuración de importación al crear el archivo temporal para almacenar los datos:
dt=open(fileopen,private,
New Column( "CycleStartDate&Time",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 22, 0 ),
Input Format( "d/m/y h:m:s", 0 )
),
New Column( "CycleEndData&Time",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 22, 0 ),
Input Format( "d/m/y h:m:s", 0 )
)
);
Esto parece una manera un tanto hacia atrás de hacerlo, ya que si el nombre del campo de fecha cambia, volverá a MM / DD / AA.
He estado rascándome la cabeza durante aproximadamente una hora y media (o 30:01 si eres estadounidense) pero no puedo encontrar una forma mejor de hacerlo ...
Re: Configurar CSV Importar por defecto Fecha Formato de hora¡Bienvenido!
Si tiene acceso a JMP 14 y está abriendo miles de CSV, observe la importación de múltiples archivos. Es probable que sea mucho más rápido porque utiliza subprocesos para abrir varios archivos a la vez.
Re: Configurar CSV Importar por defecto Fecha Formato de hora¡Gracias por la respuesta integral! Tendré que concentrarme en el trabajo que ha publicado para comprender cómo incorporarlo en mi script.Re: Configurar CSV Importar por defecto Fecha Formato de hora
Varias respuestas, ninguna perfecta.
- En JMP 14 puede usar la importación de múltiples archivos, lo que dejará los datos en formato de caracteres. A continuación, puede cambiar el formato de columna de carácter a numérico con el formato de datos adecuado, manualmente o con scripting.
- En JMP 13 la especificación del formato de columna debería funcionar.
- La importación del archivo de texto de JMP examina todas las fechas en la columna para encontrar un día> 12 para inferir el formato adecuado; Actualmente la alternativa es mm-dd-aaaa. Voy a mirar a crear una preferencia por eso.
- Aquí hay una solución que podría ayudar.
Primero, crea una tabla con una columna ambigua:
filename = savetextfile(
"$temp/date.csv","date1,date2
31/10/2018 23:59:59,2/5/2018 00:00:00
1/9/2018 00:00:00,3/7/2018 00:00:00"
);
// date1 is clearly mm/dd/yy
// date2 is not clear, there are no days > 12
dt = open(filename);
// examine what happened
dt<dt<<newcolumn("month2",formula(month(date2)));
date1 is d/m/y, date2 is m/d/y, source script high lighteddate1 es d / m / a, date2 es m / d / y, el script fuente está muy iluminado
La secuencia de comandos fuente se parece a esto
High lighting the two date formatsAlumbrado alto los dos formatos de fecha.
JSL puede Edita el script fuente, sustituyendo el formato deseado. Luego ejecute el script modificado y agregue algunas columnas para mostrar el mes:
script = dt<close(dt,"nosave"); // no longer needed
// change m/d/y to d/m/y
substituteInto(script,"m/d/y h:m:s","d/m/y h:m:s");
// re-open the table with the modified script
dt = eval(script);
// examine what happened
dt<dt<<newcolumn("month2",formula(month(date2)));
date2 is now d/m/yfecha2 es ahora d / m / a
Re: Configurar CSV Importar por defecto Fecha Formato de horaTodavía no he encontrado una buena solución para esto aparte de crear un archivo temporal completamente nuevo con cada configuración de columna antes de importar los datos en él.
¿Alguien sabe cómo solucionar este error de importación de archivos?
Re: Configurar CSV Importar por defecto Fecha Formato de horaDe hecho, esa solución no funciona: por ejemplo, la fecha guardada como "10/1/2018 9:50:46" se importa a JMP como "01/10/2018 09:50:46".