Come salvare l'impostazione di apertura del file di testo nello scriptCiao,
Problema:
Ho numerosi file .txt. Mi interessano solo i dati nella colonna 4, a partire dalla riga 7 fino all'infinito. Vorrei estrarre tutti i dati dalla colonna 4 dai numerosi file .txt e concatenarli in un'unica tabella. Qual è il modo migliore per farlo? Idealmente, vorrei creare uno script per eseguirlo.
Sulla stessa linea, quando utilizzo il metodo File - open per aprire i file .txt con i dati (utilizzando l'anteprima), posso formattare correttamente i dati della colonna 4, MA non riesco a capire come trovarli o salvarli 'aperti ' ambientazione. Vorrei salvare nello script in modo da poter aprire gli altri file .txt con le stesse impostazioni.
Come faccio a fare questo?
Ho allegato uno dei miei file .txt di esempio come riferimento.
Grazie per l'aiuto!
Tabella datiScriptingRi: Come salvare l'impostazione di apertura del file di testo nello scriptCredo che la strada da percorrere sia quella di utilizzare Importa più file
File => Importa più file
Leggerai tutti i file in una cartella e li concatenerai (se lo desideri).Quindi tutto ciò che dovrai fare è eliminare le colonne che non desideri.
Inoltre, dopo aver eseguito l'intera cartella, o forse solo alcuni file per un test case, puoi andare alla voce Sorgente nel pannello in alto a sinistra della tabella dei dati e fare clic con il tasto destro su di essa e selezionare Modifica, e otterrai tutto il JSL richiesto per essere eseguito da uno script.
Ri: Come salvare l'impostazione di apertura del file di testo nello scriptScusa, non ho descritto il mio obiettivo in modo abbastanza chiaro. Il suggerimento non mi dà ciò di cui ho bisogno. Ho anche capito che dovrò usare il comando join e non il comando concatenate.
Ho 39 file .txt. Voglio solo i dati dalla quarta colonna di ogni file .txt. Voglio estrarre quei dati e aggiungerli a una nuova tabella in modo tale da avere 39 colonne separate (una per ogni quarta colonna in tutti i 39 file .txt).
Re: Come salvare l'impostazione di apertura del file di testo nello scriptAd esempio, ho creato 4 copie del tuo file di esempio e le ho inserite tutte in una cartella nella cartella del mio gruppo di discussione
Documents\Discussion Group\textfile
poi sono andato a
File=>Importa più file

Ho selezionato la casella di controllo per "Aggiungi colonna nome file"
Ho quindi cliccato su "Impostazioni"

Ho deselezionato "Ha intestazioni"
Ho cambiato la "Prima linea dati" in 7
Ho deselezionato la casella Fine del campo, "Virgola" e ho selezionato "Spazi"
cliccato su OK
Ho cliccato su Importa
La tabella dati aperta con le colonne Col1-Col6 più le colonne FileName

Le uniche colonne desiderate sono le colonne Col5 e File Name, quindi elimina tutte le altre

Ora tutto ciò che deve essere fatto è separare i dati dai 4 file di input in colonne
Vai a
Tabelle => Diviso

Seleziona Nome file come colonna "Dividi per"
Seleziona Col 5 come colonna "Split Columns"
Fare clic su OK
La nuova tabella avrà una colonna per ciascuno dei file di input

Questa dovrebbe essere la forma finale della tabella di cui hai bisogno.Puoi rinominare le colonne come vuoi.
Re: Come salvare l'impostazione di apertura del file di testo nello scriptGrazie Jim per aver mostrato Apri più file. Sembra essere molto potente. Stranamente, non l'ho mai usato, probabilmente a causa della vecchia abitudine di eseguire script come questo.
Se tutti i file hanno esattamente lo stesso numero di righe, lo script seguente dovrebbe fornire lo stesso tavolo finale.
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>