Registrar varias bases de datos - scriptHola a todos,
Me gustaría crear un script automatizado para extraer datos de un archivo .csv que registra registros de una máquina.
El archivo es horrible, sin lógica alguna.
Logré que el script recuperara los datos, pero al final obtengo una tabla de datos de la que extraigo datos de los registros. Dependiendo del archivo, no tengo el mismo número de registros y, por lo tanto, no tengo el mismo número de tablas de datos.
Me gustaría poder guardarlos individualmente, o mejor aún, guardarlos como archivos csv, para que mis colegas puedan utilizarlos.
Terminé mi script con estas consultas y obtengo una lista de tablas de datos. ¿Pueden ayudarme?
ext = dt3 << Subset(
By(:Name),
All rows,
Selected columns only(0),
columns(
:Time, :T1, :T2, :T7, :M1, :M2, :EV12, :EV13, :EV14, :"L-EV12"n, :"L-EV13"n, :"L-EV14"n,
:BR1, :"L-BR1"n, :PR2, :PR3, :PR4, :SPT1, :SPT2, :Curve T1, Number of heating cycles,
Date, Batch, Loading temperature, Heating cycle number, Heating cycle, Duration
)
)
Editar (jthi): se agregó formato jsl
Automatización y scriptingRe: Guardar varias bases de datos - scriptUna vez que tengas todos los datos en JMP será un placer continuar en JMP.
Al exportar los datos como csv o excel, perderá todas las posibilidades interesantes.
Mejor: almacene la tabla como una tabla JMP.
Por otro lado: analizar datos - sin el objetivo de procesar los datos en JMP?
Esto se puede hacer mucho mejor en Python.
Re: Guardar varias bases de datos - scriptCuando usa By con subconjunto, obtendrá una lista de referencias de tablas de datos que luego puede recorrer y hacer lo que desee con ellas.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
// do something here
Show(dt_subset << get name);
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Puede encontrar un ejemplo de cómo guardar un archivo .csv desde el Índice de secuencias de comandos en Tabla de datos > Guardar
Nota: Registro de varias bases de datos - scriptSi el CSV no tiene patrón, use expresiones regulares para reemplazarlo
Re: Guardar varias bases de datos - script¡Gracias por tus comentarios!
De hecho, hay varios objetivos:
- Para mí: seguir trabajando con los datos bajo JMP, pero en última instancia no necesito los datos extraídos, solo la tabla concatenada, y eso está bien, ¡puedo hacerlo con mi script!
Para mis colegas que aún no he logrado migrar a JMP
: Tener acceso rápido a datos separados es esencial. ¡Pero tengo la esperanza de que eventualmente se cambien a JMP!
¡Gracias de todos modos!
Re: Guardar varias bases de datos - script¡Gracias por tus comentarios!
Pero todavía estoy atascado con la función de guardar...
No sé dónde colocarlo para que funcione, lo he intentado pero no funciona...
Para cada({dt_subset}, ext,
Mostrar(dt_subset << obtener nombre);
);
Para cada({dt_subset}, ext,
dt_subset<< guardar;
);
Re: Guardar varias bases de datos - scriptNames Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
dt_subset << Save("$TEMP/" || (dt_subset << get name) || ".jmp");
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Open("$TEMP");
Re: Guardar varias bases de datos - script¡¡¡Todo funciona perfectamente!!!
Muchas gracias !!