Combinar CSV en JMP 13Hola,
Me gusta fusionar algunos archivos CSV en un directorio determinado. Los archivos tienen un formato similar, pero también les gusta omitir algunas líneas después de los encabezados y mantener solo el encabezado para el primer archivo. Una vez que se fusionan los archivos, puedo hacer el análisis en el archivo fusionado. Revisé la comunidad JMP y no encontré la mejor solución. Agradezco su ayuda al proporcionarme un script que haga esto. Gracias.
Re: Fusionar CSV en JMP 13gracias jim Pude hacerlo funcionar usando la función Word(). Gracias por todo su apoyo.
Re: Fusionar CSV en JMP 13gracias jim Estaba leyendo principalmente en Pick File() y pensé que había una manera de hacerlo. Probaré tu sugerencia y te comento. Gracias de nuevo.
Re: Fusionar CSV en JMP 131. Le sugiero encarecidamente que lea la Guía de secuencias de comandos... necesita obtener una revisión de los diferentes elementos disponibles en JSL...
La solución a lo que solicitó es simplemente eliminar el nombre del archivo del final de la ruta completa.En JSL, hay todo tipo de funciones de manejo de caracteres.Ver:
Ayuda==>Índice de secuencias de comandos==>Funciones==>Carácter
Específicamente, necesita usar la función Word()
completefilename = "/C:/Users/txjim/Parameter Ranking/Parameter Ranking_v8 with private.jsl";
filename = Word( -1, completefilename, "/" );<BR />show( filename );
el nombre del archivo tiene el valor "Parameter Ranking_v8 with private.jsl"
Re: Fusionar CSV en JMP 13gracias jim Utilicé Pick File() pero solo necesito los nombres de archivo, no la información de ruta completa/nombre de archivo. ¿Hay alguna manera de obtener el nombre del archivo en su lugar?
prefilelist = Pick File(
"Select JMP File",
"",
{"JMP Files|jmp;jsl;csv", "All Files|*"},
1,
0,
"",
multiple // save flag is 0, allows multiple file selection
);
show(prefilelist);
Gracias por el apoyo continuo.
Re: Fusionar CSV en JMP 13En el índice de secuencias de comandos encontrará la definición y un ejemplo del uso de Pick File().Esto le permitirá seleccionar archivos.
Re: Fusionar CSV en JMP 13Gracias a todos por su gran apoyo. También me gusta poder elegir el directorio y seleccionar archivos csv individuales en lugar de seleccionar todos los archivos csv en el directorio. Estoy usando el script escrito por Byron (JMP) y adjunto aquí. Funciona perfectamente, pero si alguien me puede ayudar a poder seleccionar archivos csv individuales, sería muy útil. Gracias
Re: Fusionar CSV en JMP 13Gracias. Estoy tratando de fusionar csv para JMP13 y es genial saber que JMP14 puede manejar esto. ¡¡Es hora de actualizar!!
Re: Fusionar CSV en JMP 13Gracias. Probé el tuyo también y funciona bien.
Re: Fusionar CSV en JMP 13JMP 14 tiene importación de archivos múltiples. Está diseñado para cargar archivos desde un directorio y combinar archivos similares (mismas columnas, nombres). Puede cargar archivos de texto en una tabla de datos para el explorador de texto o archivos CSV en una tabla usando las opciones de CSV para los encabezados y omitiendo algunas filas.
Choosing files from a directoryChoosing files from a directoryElegir archivos de un directorio
CSV optionsCSV optionsOpciones CSV
Re: Fusionar CSV en JMP 13dt = New Table( "Untitled", Add Rows( 4 ),
New Column( "Column 1", Character, "Nominal",
Set Values( {"abc", "1", "2", "3"} ) ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"def", "6", "5", "4"} ) ),
New Column( "Column 3", Character, "Nominal",
Set Values( {"ghi", "7", "6", "5"} ) ),
New Column( "Column 4", Character, "Nominal",
Set Values( {"jkl", "2", "3", "4"} ) )
);
// Rename each column to the first row
for (i = 1, i <= ncols(dt), i++,
column(i) << set name(column(i)[1]);
);
// Remove the first row
dt << delete rows([1]);Re: Fusionar CSV en JMP 13Gracias. Funciona perfectamente. Lo último que quería hacer es establecer nombres de columna iguales al valor de la primera fila y luego eliminar la primera fila.
Re: Fusionar CSV en JMP 13Este código debería hacer el truco.Usos OBTENER FILAS DONDE en vez de SELECCIONA DONDE .
dt = New Table( "Test", Add Rows( 5 ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"ABC", "ABC", "DEF", "DEF", "ABC"} )
)
);
abc_rows = dt << get rows where(:Column 2 == "ABC");
nr = nrows(abc_rows);
if (nr > 1,
abc_new = abc_rows[2::nr];
dt << delete rows(abc_new);
);
Re: Fusionar CSV en JMP 13Gracias. Eso funciona. Ahora quería revisar cada fila de la tabla y eliminar donde Columna 2 = "ABC", excepto la primera fila.
Hice algo como esto:
dt = tabla de datos actual();
N = N Filas (dt);
Para (i= 2, i <= N, i++,
dt << seleccione Donde (:Columna 2 == "ABC");
);
Seleccionó todas las filas donde Columna 2 = "ABC". Quería mantener la primera fila para que no fuera seleccionada. Gracias por su apoyo continuo.
Re: Fusionar CSV en JMP 13Seleccionar filas selecciona las filas por número de fila.Lo que necesitas usar es
dt << Seleccione Donde( :Columna 2 == "" );
Re: Fusionar CSV en JMP 13Gracias. Pude fusionar csv ahora. Ahora necesito eliminar filas donde, por ejemplo, "Coulmn 2" está en blanco. Usé lo siguiente y no funcionó:
dt = tabla de datos actual():
dt << seleccionar filas (: Columna 2 == "");
Solo selecciona una fila, no todas las que están en blanco. Estoy usando JMP 13 para esto. Por favor ayuda. Gracias.
Re: Fusionar CSV en JMP 13La única manera que veo para poder hacer esto es la siguiente:
1. Lea cada uno de los archivos CSV.
2. Elimine los registros después de cada uno de los encabezados que no desea.
3. Cambie los nombres en la tabla de datos 2 a N para que coincidan con los nombres en la primera tabla de datos con la que desea hacer coincidir.
4. Concatenar las tablas juntas.
5. Guarde el archivo concatenado como un archivo CSV.
Un bastante simple, pero laborioso, dados los cambios en la tabla de datos que puede necesitar hacer.