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.
Allo stesso modo, quando utilizzo il metodo File - open per aprire i file .txt con Data (usando l'anteprima), posso formattare correttamente i dati della mia colonna 4, MA non riesco a capire come trovare o salvare questi "open ' 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 datiSceneggiaturaRe: Come salvare l'impostazione di apertura del file di testo nello scriptGrazie ad entrambi per i suggerimenti! Penso che l'opzione di scripting fosse un po' più simile a quello che speravo di fare e ha funzionato a meraviglia! Dovrò esercitarmi anche con l'importazione di più file.
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>
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 fatto clic su "Impostazioni"

Ho deselezionato "Ha intestazioni"
Ho cambiato la "Prima riga dati" in 7
Ho deselezionato nella casella Fine campo, "Virgola" e selezionato "Spazi"
Cliccato su OK
Cliccato su Importa
La tabella di dati è stata 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 => Dividi

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

Questa dovrebbe essere la forma finale del tavolo di cui hai bisogno.Puoi rinominare le colonne come preferisci.
Re: 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. Mi sono anche reso conto che dovrò usare il comando join non il comando concatenate.
Ho 39 file .txt. Voglio solo i dati dalla 4a colonna di ogni file .txt. Voglio estrarre quei dati e aggiungerli a una nuova tabella in modo da avere 39 colonne separate (una per ogni 4a colonna in tutti i 39 file .txt).
Re: Come salvare l'impostazione di apertura del file di testo nello scriptCredo che la strada da seguire sia quella di utilizzare Import Multiple Files
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 Source 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 necessario per essere eseguito da uno script.