Tableau de données de dénomination automatique d'importation de fichiers multiplesBonjour à tous,
J'écris un script dans lequel je commence par une "importation de fichiers multiples" d'un dossier de fichiers .csv. Je recevrai périodiquement de nouveaux fichiers .csv que j'aimerais ajouter. Ces fichiers comportent une série de lettres et de chiffres (c'est-à-dire chghistory0857-786.csv, chghistory0956-783.csv, chghistory1008-805.csv, etc.). Le problème que je rencontre est que lorsque j'exécute le script "importation de fichiers multiples", JMP crée un nom de table de données qui est nommé automatiquement basé sur les noms de fichiers .csv (c'est-à-dire chghistory0956-783_chghistory1008-805). Lorsque je mets plus de fichiers de données dans le dossier, ce nom change et gâche toutes les futures formules.
Existe-t-il un moyen de pré-établir le nom de la table de données et d'y transférer les données de l'IMF ? Utilisateur JMP16 ici si cela fait une différence.
Merci,
Greg
Tableau de donnéesRe : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiersJeter un coup d'œil à @Craige_Hales poste ci-dessus. Vous devrez peut-être utiliser quelque chose comme Close(tblRef[1],No Save) (ou indexer les tables de la liste générée par Multiple File Import). Si cela ne fonctionne pas, je serais intéressé de connaître les circonstances.
Merci! Enfiler
Re : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiers@DonMcCormack ,
Cette méthode fonctionne jusqu'à un certain point.Lorsque je fais cela, je ne peux pas utiliser "Close(tblRef, NoSave)" pour fermer la table.Peux-tu?Ma méthode consiste à définir la référence après l'importation comme "tblRef = Current Data Table();".Cela semble être un bogue dans JMP 16.2 et JMP 17.0.0.
Pensées?
Martin
Re : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiersMFI renvoie toujours une { liste de tables } même s'il n'y a qu'une seule table. Dans @DonMcCormack réponse, le <
if( nitems(tblRef) != 1, throw("Bummer: MFI did not return exactly one table. The CSV files are not importing as expected.") );
tblRef = tblRef[1];
tblRef << Set Name( ... )
Si vous obtenez ce lancer dans quelques années, cela ne prendra peut-être qu'une heure à réparer plutôt qu'un jour pour découvrir pourquoi cela ne fonctionne plus.
Re : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiersEn plus de @DonMcCormack vous devez probablement vérifier le type de données que vous récupérez. Dans ce cas, il s'agit d'une liste.
Il est toujours préférable de travailler avec des références spécifiques directement à partir de la commande avant, car les noms statiques peuvent être problématiques. Voir Capture d'écran, comme la table de données "Animaux" existait déjà, la dernière importation a créé "Animaux 2".
Scripting Index est formidable pour voir comment cela fonctionne, même si vous pouvez tester certaines variantes.
Re : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiersMerci! Cela a très bien fonctionné, je vais également expérimenter l'utilisation de variables de référence, mais c'était une solution rapide.
Re : Tableau de données de dénomination automatique pour l'importation de plusieurs fichiersTu paries. Importation de fichiers multiples renvoie une référence à la table créée. Vous pouvez l'utiliser pour changer le nom, par exemple,
tblRef = Multiple File Import(...
);
tblRef << Set Name("My New Name");
Vous pouvez travailler directement avec la variable de référence. De cette façon, vous n'avez pas à vous soucier du nom de la table.