importar csv con dos filas como encabezadoHola,
Estoy trabajando con archivos csv relativamente grandes (± 150 MB). Los archivos comienzan con dos filas que deben combinarse como encabezado de columna.
Escribí un script que recorre cada columna y establezco el nombre de la columna en el nombre actual + el valor de la primera fila.
El problema es que funciona muy lento, a veces necesito esperar ± 10 minutos para cambiar el nombre de 4000 columnas.
De alguna manera depende del tamaño del archivo, cambiar la misma cantidad de columna en un archivo pequeño lleva unos segundos.
Intenté algunas soluciones alternativas:
1. subconjunto solo la primera fila y cambio de todos los nombres de columna (muy rápido). Luego pensé en concatenar la tabla original, pero no puedo hacerlo porque los nombres de las columnas ahora no son los mismos.
2. actualizar la configuración de importación CSV como se sugiere aquí . pero todavía no veo una opción para incluir dos filas como encabezado.
3. exporte el archivo como xls y luego impórtelo con dos filas como encabezado. el tiempo de exportación es más largo que el cambio de nombre de columna original.
¿Hay otra solución que me falta, tal vez haya una opción para cambiar todos los nombres de columna según una lista?
Gracias de antemano por los ayudantes.
Tabla de datossecuencias de comandosRe: importar csv con dos filas como encabezadoPuede intentar importar varios archivos, incluso para un solo archivo. Podría ser más rápido y admite múltiples encabezados de línea.
File->Import Multiple FilesFile->Import Multiple FilesArchivo->Importar varios archivos
Re: importar csv con dos filas como encabezadoHola @rans ,
Si abre el archivo con JMP y deselecciona la casilla "Usar programa predeterminado para abrir. Desmarque para abrir como texto." y luego seleccione el botón de opción "Datos (usando vista previa)"; asegúrese de seleccionar todos los archivos (*.*) en la ventana abierta de JMP.

Luego puede seleccionar algunos de los delimitadores importantes y otras cosas, incluida la fila en la que comienzan los datos, por lo que si hay dos filas como encabezados, omitiría una y luego establecería que los datos comiencen en la línea 3 o lo que sea.

Luego puede abrir el script "Fuente" en la tabla de datos y editar la configuración de importación según sea necesario y usar este script en su programa JSL.

Alternativamente, si puede volver a guardarlo como un archivo XLSX, entonces puede usar el comando Abrir () y definir qué pestaña abrir, con qué columna comenzar/detenerse y con qué fila comenzar/detenerse, además de tener varias filas como encabezado. Eso debería resolver su problema de tener que cambiar el nombre de las columnas.

La última opción que mencionaría es que si sabe los nombres de las columnas y no cambian, entonces en su secuencia de comandos, puede tener una lista ColNames ={"...", "...",.. .} con todos los nombres correctos entre comillas separados por comas en la lista. Luego, después de cargar el archivo CSV, puede ejecutar un For Loop para cambiar el nombre de cada columna de acuerdo con las entradas en ColNames. Por ejemplo:
dt=Current data table();//or whatever your data table name is.
icols=.;//variable to count through the columns
For(icols=1, icols<=N Columns(dt), icols++,
Column(dt, icols) <<SET name=""></SET>
¡Espero que uno de estos ayude!
Buena suerte,
SD