Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptBonjour,
Problème:
J'ai de nombreux fichiers .txt. Je ne me soucie que des données de la colonne 4, en commençant par la ligne 7 jusqu'à l'infini. Je voudrais extraire toutes les données de la colonne 4 des nombreux fichiers .txt et les concaténer en une seule table. Quelle est la meilleure façon de procéder? Idéalement, j'aimerais créer un script pour exécuter cela.
Dans le même ordre d'idées, lorsque j'utilise la méthode File - open pour ouvrir les fichiers .txt avec Data (en utilisant l'aperçu), je peux formater correctement les données de ma colonne 4, MAIS je n'arrive pas à comprendre comment les trouver ou les enregistrer. ' paramètre. Je souhaite enregistrer dans le script afin de pouvoir ouvrir les autres fichiers .txt avec les mêmes paramètres.
Comment puis-je faire cela?
J'ai joint un de mes exemples de fichiers .txt pour référence.
Merci pour l'aide!
Personnalisation de masseRe : Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptMerci à vous deux pour les suggestions ! Je pense que l’option de script ressemblait un peu plus à ce que j’espérais faire et a fonctionné à merveille ! Je devrai également m'entraîner à importer plusieurs fichiers.
Re : Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptMerci Jim d'avoir montré Ouvrir plusieurs fichiers. Cela semble être très puissant. Étrangement, je ne l'ai jamais utilisé – probablement à cause d'une vieille habitude de scripter des tâches comme celle-ci.
Si tous les fichiers ont exactement le même nombre de lignes, le script ci-dessous devrait donner le même tableau 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 : Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptÀ titre d'exemple, j'ai fait 4 copies de votre fichier d'exemple et je les ai toutes placées dans un dossier sous mon dossier Groupe de discussion.
Documents\Discussion Group\textfile
Je suis ensuite allé chez
Fichier=>Importer plusieurs fichiers

J'ai coché la case "Ajouter une colonne de nom de fichier"
J'ai ensuite cliqué sur "Paramètres"

J'ai décoché "A des en-têtes"
J'ai changé la "Première ligne de données" en 7
J'ai décoché la case Fin de champ, "Virgule" et coché "Espaces".
J'ai cliqué sur OK
J'ai cliqué sur Importer
La table de données ouverte avec les colonnes Col1-Col6 plus les colonnes FileName

Les seules colonnes souhaitées sont les colonnes Col5 et File Name, donc supprimez toutes les autres.

Il ne reste plus qu'à séparer les données des 4 fichiers d'entrée en colonnes
Aller à
Tableaux => Diviser

Sélectionnez Nom du fichier dans la colonne « Diviser par »
Sélectionnez la colonne 5 comme colonne "Diviser les colonnes".
Cliquez sur OK
Le nouveau tableau aura une colonne pour chacun des fichiers d'entrée

Cela devrait être la forme finale du tableau dont vous avez besoin.Vous pouvez renommer les colonnes comme vous le souhaitez.
Re : Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptDésolé, je n'ai pas décrit mon objectif assez clairement. La suggestion ne me donne pas ce dont j'ai besoin. J'ai également réalisé que je devais utiliser la commande join et non la commande concatenate.
J'ai 39 fichiers .txt. Je veux uniquement les données de la 4ème colonne de chaque fichier .txt. Je souhaite extraire ces données et les ajouter à une nouvelle table de telle sorte que j'aie 39 colonnes distinctes (une pour chaque 4ème colonne dans les 39 fichiers .txt).
Re : Comment enregistrer les paramètres d'ouverture d'un fichier texte dans un scriptJe pense que la voie à suivre est d'utiliser Importer plusieurs fichiers
Fichier=>Importer plusieurs fichiers
Vous lirez tous les fichiers d’un dossier et les concaténerez (si vous le souhaitez).Ensuite, tout ce que vous aurez à faire est de supprimer les colonnes dont vous ne voulez pas.
De plus, après avoir exécuté l'intégralité du dossier, ou peut-être seulement quelques fichiers pour un scénario de test, vous pouvez accéder à l'entrée Source dans le panneau supérieur gauche de la table de données et cliquer dessus avec le bouton droit et sélectionner Modifier, et vous obtiendrez tout le JSL. requis pour être exécuté à partir d'un script.