Re : Traitement de fichiers par lots pour extraire des données dans un tableau récapitulatifAvant de commencer la boucle, créez un nouveau tableau avec les colonnes Nom de fichier et Zone et formatez-les comme vous le souhaitez. Le moyen le plus simple consiste à créer une nouvelle table, puis à utiliser Copier le script de table. N'oubliez pas également d'affecter une variable de référence à cette table !

Ensuite, dans la boucle, après avoir calculé la surface, vous pouvez obtenir le nom de la table en utilisant << Get Name, puis ajoutez les nouvelles lignes à votre table de collection avec << Add Rows(). N'oubliez pas non plus de fermer les tableaux et les rapports inutiles après en avoir obtenu les informations pertinentes.
Names Default To Here(1);
dt_collector = New Table("Untitled",
Add Rows(0),
New Column("File Name", Character, Nominal, Set Values({})),
New Column("Area", Numeric, "Continuous", Set Values([]))
);
// For(..
// ...
//dt_name = dt << Get Name;
dt_name = "table";
area = 123;
dt_collector << Add Row({File Name = dt_name, Area = area});
//);
Re : Traitement par lots de fichiers pour extraire des données dans un tableau récapitulatifJ'ai ajouté du code qui créera une nouvelle table de données et écrira le nom du fichier et la zone dans la nouvelle table
Names Default to Here( 1 );
//point to file directory
path = Pick Directory( "Select Directory Containing Data Files" );
//Gets the list of files in the selected file folder
file_list = Files In Directory( path );
// Crete beginnings of output data table
dtFinal = New Table( "Final", New Column( "File Name", Character ), New Column( "Area" ) );
//i=0;open file
nfile_list = N Items( file_list );
For( i = 1, i <= nfile_list, i += 1,
//Set Current Directory( dir_DirectoryPath );
dt = Open( path || file_list[i], );
//Calculate area
dt = Current Data Table();
dt << clear row states;
obj3 = dt << Bivariate(
invisible,
Y( :Name( "Data" ) ),
X( :Time ),
Fit Polynomial( 6, {Line Color( {212, 73, 88} )} ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 449, 411 )} ) )
);
//save graph to data dable
obj3 << Save Script to Data Table( "Area" );
//get the prediction formula string and calculate the area under the curve for 30 minute adsoription
fm = Report( obj3 )[Outline Box( "Polynomial ?" )][Text Edit Box( 1 )] << get text;
//get the string to the right of the equal sign and convert the string to an expression using Parse()
fm = Parse( Trim( Word( 2, fm, "=" ) ) );
area = Integrate( fm, :Time, 0, 3600 );
Caption( "The area under this curve is " || Char( area ) );
Print( area );
// Add information to Final data table
dtFinal << add rows( 1 );
dtFinal:File Name[N Rows( dtFinal )] = file_list[i];
dtFinal:area[N Rows( dtFinal )] = area;
);Re : Traitement par lots de fichiers pour extraire des données dans un tableau récapitulatifMerci! Vous avez également donné une belle explication détaillée. Facile à suivre 
Re : Traitement par lots de fichiers pour extraire des données dans un tableau récapitulatifMerci! J'ai vu l'autre réponse en premier mais j'aime bien celle-ci aussi.
Traitement par lots des fichiers pour extraire les données dans un tableau récapitulatifJ'ai plusieurs fichiers sur lesquels je souhaite effectuer une analyse. Je souhaite créer une boucle pour ouvrir le fichier, effectuer l'analyse, calculer une valeur "aire sous une courbe" dans cet exemple puis faire un tableau récapitulatif avec le nom du fichier et l'aire. Je peux ouvrir les fichiers d'un dossier et effectuer l'analyse. Je ne sais pas comment créer le tableau récapitulatif. J'ai donné un exemple avec 2 fichiers mais j'ai beaucoup plus de fichiers que j'aimerais traiter de cette manière. Toute aide ou conseil est grandement apprécié! Veuillez également me faire savoir si cela n'a pas de sens ou si plus d'informations sont nécessaires.
//point to file directory
path = Pick Directory( "Select Directory Containing Data Files" );
//Gets the list of files in the selected file folder
file_list = Files In Directory( path );
//i=0;open file
nfile_list = N Items( file_list );
For( i = 1, i <= nfile_list, i += 1,
//Set Current Directory( dir_DirectoryPath );
dt = Open( path || file_list[i], );
//Calculate area
dt = Current Data Table();
dt << clear row states;
obj3 = dt << Bivariate(
Y( :Name( "Data" ) ),
X( :Time ),
Fit Polynomial( 6, {Line Color( {212, 73, 88} )} ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 449, 411 )} ) )
);
//save graph to data dable
obj3 << Save Script to Data Table( "Area" );
//get the prediction formula string and calculate the area under the curve for 30 minute adsoription
fm = Report( obj3 )[Outline Box( "Polynomial ?" )][Text Edit Box( 1 )] << get text;
//get the string to the right of the equal sign and convert the string to an expression using Parse()
fm = Parse( Trim( Word( 2, fm, "=" ) ) );
area = Integrate( fm, :Time, 0, 3600 );
Caption( "The area under this curve is " || Char( area ) );
Print( area );
);
Exemple de table finale que j'aimerais avoir :

Toute l'aide pouvant etre apportée serait très appréciée. Merci
Personnalisation de masse