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 configuré el nombre de la columna en el nombre actual + el valor de la primera fila.
El problema es que se está ejecutando 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 toma unos segundos.
Probé algunas soluciones:
1. crear subconjuntos solo en la primera fila y cambiar todos los nombres de las columnas (muy rápido). Entonces pensé que concatenaría 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 de 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 la columna original.
¿Existe otra solución alternativa que me falta, tal vez haya una opción para cambiar todos los nombres de las columnas en función de una lista?
Gracias de antemano por los ayudantes.
Tabla de datosScriptingRe: importar csv con dos filas como encabezadoHola @Rans ,
Si abre el archivo con JMP y desmarca 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 los inicios de datos en la línea 3 o lo que sea.

A continuación, puede abrir el script "Fuente" en la tabla de datos y editar la configuración de importación según sea necesario y utilizar 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 / detener y con qué fila comenzar / detener, 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 cuáles son los nombres de las columnas y no cambian, entonces en su script, 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,
DS
Re: importar csv con dos filas como encabezadoPuede intentar la importación de varios archivos, incluso para un solo archivo. Puede ser más rápido y admite varios encabezados de línea.
Archivo-> Importar varios archivos