Cómo guardar la configuración de apertura del archivo de texto en el scriptHola,
Problema:
Tengo numerosos archivos .txt. Solo me importan los datos en la columna 4, comenzando con la fila 7 hasta el infinito. Me gustaría extraer todos los datos de la columna 4 de los numerosos archivos .txt y concatenarlos en una sola tabla. ¿Cuál es la mejor manera de hacer esto? Idealmente, me gustaría crear un script para ejecutar esto.
De la misma manera, cuando uso el método Archivo - abrir para abrir los archivos .txt con Datos (usando la vista previa), puedo formatear correctamente los datos de mi columna 4, PERO no sé cómo encontrar o guardar estos 'abrir ' configuración. Me gustaría guardar en el script para poder abrir los otros archivos .txt con la misma configuración.
¿Cómo hago esto?
He adjuntado uno de mis archivos .txt de muestra como referencia.
¡Gracias por la ayuda!
Tabla de datossecuencias de comandosRe: Cómo guardar la configuración de apertura de un archivo de texto en un script¡Gracias a ambos por las sugerencias! ¡Creo que la opción de secuencias de comandos se parecía un poco más a lo que esperaba hacer y funcionó de maravilla! Tendré que practicar con la importación de varios archivos también.
Re: Cómo guardar la configuración de apertura de un archivo de texto en un scriptGracias Jim por mostrar archivos abiertos múltiples. Parece ser muy poderoso. Extrañamente, nunca lo he usado, probablemente debido al viejo hábito de realizar tareas de secuencias de comandos como esta.
Si todos los archivos tienen exactamente el mismo número de filas, la siguiente secuencia de comandos debería dar la misma tabla final.
Names Default To Here( 1 );
path = "path to directory of text files";
files = Files In Directory( path );
open_expr = Expr(
dt = Open(
path || Expr( files[i] ),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, CSV( 0 ) ),
Data Starts( 7 ),
Lines To Read( "All" )
),
private
)
);
M = []; //Matrix to hold data from multiple files
L = {}; // List of imported file names
For( i = 1, i <= N Items( files ), i++,
If( Ends With( files[i], ".txt" ),
Eval( Eval Expr( open_expr ) );
Insert Into( L, files[i] );
M ||= dt[0, 5]; // Add column 4 (5 becaue of fronting spaces in files)
Close( dt, no save );
)
);
// Make into table
dt = As Table( M, <<COLUMN names=""></COLUMN>
Re: Cómo guardar la configuración de apertura de un archivo de texto en un scriptA modo de ejemplo, hice 4 copias de su archivo de ejemplo y las coloqué todas en una carpeta debajo de mi carpeta Grupo de discusión.
Documents\Discussion Group\textfile
luego fui a
Archivo=>Importar varios archivos

Seleccioné la casilla de verificación para "Agregar columna de nombre de archivo"
Luego hice clic en "Configuración"

Desmarqué "Tiene encabezados"
Cambié la "Primera línea de datos" a 7
Desmarqué la casilla "Fin del campo", "Coma" y marqué "Espacios"
Hizo clic en Aceptar
Hizo clic en Importar
La tabla de datos se abrió con las columnas Col1-Col6 más las columnas FileName

Las únicas columnas que se desean son las columnas Col5 y Nombre de archivo, así que elimine todas las demás

Ahora todo lo que hay que hacer es separar los datos de los 4 archivos de entrada en columnas.
Ir a
Tablas=>Dividir

Seleccione Nombre de archivo como la columna "Dividir por"
Seleccione Col 5 como la columna "Columnas divididas"
Haga clic en Aceptar
La nueva tabla tendrá una columna para cada uno de los archivos de entrada.

Esta debería ser la forma final de la tabla que necesita.Puede cambiar el nombre de las columnas a lo que quiera.
Re: Cómo guardar la configuración de apertura de un archivo de texto en un scriptLo siento, no describí mi objetivo con suficiente claridad. La sugerencia no me da lo que necesito. También me di cuenta de que tendré que usar el comando unir, no el comando concatenar.
Tengo 39 archivos .txt. Solo quiero los datos de la cuarta columna de cada archivo .txt. Quiero extraer esos datos y agregarlos a una nueva tabla de modo que tenga 39 columnas separadas (una para cada cuarta columna en los 39 archivos .txt).
Re: Cómo guardar la configuración de apertura de un archivo de texto en un scriptCreo que la ruta a seguir es usar Importar múltiples archivos
Archivo=>Importar varios archivos
Leerá todos los archivos en una carpeta y los concatenará (si lo desea).Luego, todo lo que tendrá que hacer es eliminar las columnas que no desea.
Además, después de ejecutar toda la carpeta, o tal vez solo algunos archivos para un caso de prueba, puede ir a la entrada Fuente en el panel superior izquierdo de la tabla de datos y hacer clic derecho sobre ella y seleccionar Editar, y obtendrá todo el JSL. necesarios para ejecutarse desde un script.