¿Cómo podría guardar varias tablas de datos .jmp abiertas como archivos .csv?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Como resultado del subconjunto de tablas, tengo varias tablas de datos .jmp que necesito guardar como archivos .csv. Probé una secuencia de comandos para guardar todas las tablas abiertas, pero solo puedo hacer que funcione para guardar como archivos .jmp.
openDTs=Lista ();Para (i=1, i<=N Tabla (), i++, Insertar en (openDTs, Tabla de datos (i)););
Para(i=1, i<=N elementos(openDTs),i++,openDTS <
A partir de la operación de subconjunto, tendré una gran cantidad de tablas abiertas, por lo que tal vez sería mejor evitar tener tantas tablas abiertas e intentar incorporar el procedimiento de guardado después de la operación de subconjunto. Soy muy nuevo en la creación de scripts, cualquier idea es muy apreciada.
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?Muchas gracias. ¡Ese guión es lo que estaba buscando!
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?Limpio. El script de PMroz funciona perfectamente si desea capturar todos los datos de cada tabla de datos de forma indiscriminada. El script que proporcioné le brinda un poco más de control porque puede seleccionar qué columnas se escriben; también se puede ajustar para seleccionar filas específicas o incluso celdas específicas si es necesario. Debería poder insertar el código de la secuencia de comandos en la secuencia de comandos de PMroz para seleccionar varias tablas de datos si necesita ese nivel de control.
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?dt1 = abierto ( "$sample_data\Gran Clase.jmp" ) ;
dt2 = abierto ( "$sample_data\Bands Data.jmp" ) ;
dt3 = abierto ( "$sample_data\Auto Raw Data.jmp" ) ;
dt4 = abierto ( "$sample_data\Fitness.jmp" ) ;
DT abiertos = {} ;
Para ( i = 1 , i <= N Mesa () , i ++,
Insertar en ( DT abiertos , Tabla de datos ( i ) )
) ;
archivo_dir = "c:\temp\" ;
Para ( i = 1 , i <= N artículos ( DT abiertos ) , i ++,
un_nombre = OpenDTS [ i ] << obtener nombre ;
ruta de archivo = archivo_dir || un_nombre || ".csv" ;
OpenDTS [ i ] << Ahorrar ( ruta de archivo ) ;
) ;
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?Muchas gracias por el guión. Lo probé y trabajé en uno de los archivos .jmp. El problema ahora es que tengo más de 400 tablas jmp que necesitaría guardar como archivos .csv con el mismo nombre que las tablas jmp correspondientes originales. No puedo encontrar una manera de hacer esto.
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?Si proporciona una ruta que tiene una extensión .csv, se guardará como un archivo csv.
dt = Nueva tabla ( "Ejemplo CSV" , Agregar filas ( 3 ) ,
Nueva columna ( "Columna 1" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "Columna 2" , Personaje , Nominal , Establecer valores ( { "a" , "b" , "C" } ) )
) ;
fp = "c:\temp\csv_ejemplo.csv" ;
dt << ahorrar ( fp ) ;
Re: ¿Cómo puedo guardar varias tablas de datos .jmp abiertas como archivos .csv?Idealmente, esta sería una solución simple de una sola línea, pero al analizar esto, ese no parece ser el caso. Ahorrar y Guardar como guarde específicamente una tabla de datos JMP, ya que más allá de la ruta/nombre de archivo, no hay parámetros adicionales para esas funciones, como el tipo de archivo. Hay otra función de salida de archivos, Guardar archivo de texto , pero solo genera una cadena específica en un archivo de texto. Afortunadamente, tengo una experiencia considerable en programación, por lo que el método para realizar esta tarea fue bastante sencillo para mí después de pensarlo un poco, ya que la mayoría de los lenguajes de programación crearían un archivo CSV de esta manera.
A continuación se muestra un script que logra lo que desea, solo necesitaría adaptarlo a su tabla de datos; necesitaría especificar sus columnas particulares en su tabla de datos. Lo que hace este script es primero determinar el número de filas en la tabla de datos. Luego, se usa un bucle For para capturar datos de columnas específicas en cada fila de la tabla de datos y escribirlos en un archivo de texto. En la primera fila, se crea un archivo nuevo o se sobrescribe un archivo existente. Para todas las filas restantes, los datos se agregan al archivo existente. Además, para que no termine con un archivo que es solo una línea continua de datos, los saltos de línea se agregan a todas menos a la última fila del archivo.
La única ventaja de tener que escribir archivos de texto de esta manera es que puede elegir qué columnas exportar si solo desea ciertos datos. Obviamente, este proceso es tedioso si quieres todos tus datos y tienes varias columnas, pero como mencioné anteriormente, esta técnica es típica en la mayoría de los lenguajes de programación.
Nombres predeterminados aquí ( 1 ) ;
dt = Tabla de datos actual () ;
última fila = n filas () ;
Para ( i = 1 , i <= última fila , i ++,
// obtener columnas
ubicación = : Ubicación [ i ] ;
día = : Día [ i ] ;
tiempo = : Tiempo [ i ] ;
contar = : Contar [ i ] ;
significar = : Significar [ i ] ;
máximo = : máx. [ i ] ;
//crear una fila delimitada por comas
filacsv = Artículos combinados (
{ ubicación , Carbonizarse ( día ) , Carbonizarse ( tiempo ) , Carbonizarse ( contar ) , Carbonizarse ( significar ) , Carbonizarse ( máximo )} ,
","
) ;
//guardar fila en archivo de texto
Si ( i == 1 ,
Guardar archivo de texto ( "$ESCRITORIO/Archivo de prueba.csv" , filacsv , Modo ( "Reemplazar" )) ,
Guardar archivo de texto ( "$ESCRITORIO/Archivo de prueba.csv" , filacsv , Modo ( "Adjuntar" ))
) ;
//exportar avance de línea para todas menos la última fila
Si ( i != última fila , Guardar archivo de texto ( "$ESCRITORIO/Archivo de prueba.csv" , "\!norte" , Modo ( "Adjuntar" ))) ;
) ;