¿Cómo excluir el encabezado y el pie de página cuando se usa open() para importar un archivo de texto en JSL?Tengo datos que tienen varias filas de encabezado al principio de los datos y un pie de página al final de los datos.
Tanto el texto del encabezado como el del pie de página comienzan con un identificador. ! .
(el número de filas de encabezado, pie de página y datos intermedios varía)
Ejemplo con datos arbitrarios (disponible como archivo .txt)
! encabezado primera línea
! encabezado segunda línea
Parámetro LSL USL Unidades
tensión 0,1 0,5 V
Capacitancia 0,3 0,7 pF
Resistencia 0,5 9 ohmios
! Segunda línea del pie de página
! Tercera línea del pie de página
! Tercera línea del pie de página
¿Puedo usar open () para poder excluir datos de encabezado y pie de página al importar datos en formato de texto?
Puedo usar open() para importar datos manteniendo el texto del encabezado y pie de página (digamos en una tabla dt ).
También quiero saber cómo extraer (a una nueva tabla dt_nuevo ) datos excluyendo el encabezado y pie de página que comienzan con un identificador, digamos !.
Finalmente, quiero guardar los datos del encabezado y pie de página en dt en una tabla separada, digamos dt_hf. ¿Como hacer esto?
Gracias.
Acceso a los datosRe: ¿Cómo excluir encabezado y pie de página al usar open() para importar un archivo de texto en JSL?Aquí hay un ejemplo simple de lo que creo que necesitas.
Names Default To Here( 1 );
dt = Current Data Table();
headFootList = {};
col1Name = Column( 1 ) << get name;
Eval(
Parse(
Eval Insert(
"For Each Row( If( Contains( :^col1Name^, \!"!\!" ) == 1, Insert Into( headFootList, :^col1Name^ ) ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"emptyCount = N Rows( dt << get rows where( :^col1Name^ == \!"\!" ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"dt << select where( contains(:^col1Name^,\!"!\!")==1 | :^col1Name^ == \!"\!")"
)
)
);
Try( dt << delete rows );
dtHeadFoot = New Table( "Headers and Footers",
New Column( "Headers and Footers", character, set values( headFootList ) )
);
New Window( "Count of Empty Rows",
<<MODAL></MODAL>Re: ¿Cómo excluir encabezado y pie de página al usar open() para importar un archivo de texto en JSL?@txnelson . A continuación se muestra cómo se ve. quisiera hacer lo siguiente
1. Separe el texto del encabezado y pie de página en una lista.
2. Separe los datos entre el encabezado y el pie, excepto la línea vacía, en una tabla de datos.
3. Cuente el número de entradas vacías en la tabla de datos (cambian según el archivo de texto que se carga)

Gracias.
Re: ¿Cómo excluir encabezado y pie de página al usar open() para importar un archivo de texto en JSL?¿Es así como se ve tu tabla de datos?En caso contrario, ¿puede proporcionarnos una tabla de datos de muestra?

Re: ¿Cómo excluir encabezado y pie de página al usar open() para importar un archivo de texto en JSL?Gracias @Craige_Hales .
¿Qué cambios son necesarios si mis datos están en una tabla de datos y no en un archivo de texto?
(Cargo el archivo de texto y lo llamo, digamos dt ).
Ahora necesito separar el encabezado y el pie de página. dt.
Además, cómo manejar líneas vacías entre las entradas del encabezado y pie de página, por ejemplo, espacios vacíos entre segunda línea del pie de página y tercera línea del pie de página y no incluirlos en datos ?
Re: ¿Cómo excluir encabezado y pie de página al usar open() para importar un archivo de texto en JSL?De una sola mano:
filename = Save Text File(
"$temp/deleteme.txt",
"\[! header first line
! header second line
Parameter LSL USL Units
voltage 0.1 0.5 V
Capacitance 0.3 0.7 pF
Resistance 0.5 9 Ohms
! Footer second line
! Footer third line
! Footer third line]\"
);
lines = Words( Load Text File( filename ), "\!n\!r" );
metadata = {};
data = {};
For( i = 1, i <= N Items( lines ), i += 1,
line = lines[i];
If( Starts With( line, "!" ),
Insert Into( metadata, line ),
Insert Into( data, line )
);
);
datafilename = Save Text File( "$temp\data.txt", Concat Items( data, "\!n" ) );
metafilename = Save Text File( "$temp\metadata.txt", Concat Items( metadata, "\!n" ) );
dtData = Open( datafilename, Import Settings( End Of Field( Tab, Spaces, Space ) ) );
dtMetadata = Open( metafilename, Import Settings( Labels( 0 ) ) );
meta data separated from datameta data separated from datametadatos separados de los datos