Datentabelle für den Import mehrerer Dateien mit automatischer BenennungHallo alle,
Ich schreibe ein Skript, in dem ich mit einem "Import mehrerer Dateien" eines Ordners mit CSV-Dateien beginne. Ich erhalte regelmäßig neue .csv-Dateien, die ich hinzufügen möchte. Diese Dateien enthalten eine Reihe von Buchstaben und Zahlen (z. B. chghistory0857-786.csv, chghistory0956-783.csv, chghistory1008-805.csv usw.). Das Problem, auf das ich stoße, ist, dass JMP beim Ausführen des Skripts „Import mehrerer Dateien“ einen Datentabellennamen erstellt automatisch benannt basierend auf den .csv-Dateinamen (dh chghistory0956-783_chghistory1008-805). Wenn ich weitere Datendateien in den Ordner lege, ändert sich dieser Name und bringt alle zukünftigen Formeln durcheinander.
Gibt es eine Möglichkeit, den Namen der Datentabelle vorab festzulegen und die Daten von der MFI darin abzulegen? JMP16-Benutzer hier, falls das einen Unterschied macht.
Danke schön,
Greg
DatentabelleBetreff: Datentabelle für den Import mehrerer Dateien mit automatischer BenennungSchauen Sie sich an @Craige_Hales oben posten. Möglicherweise müssen Sie so etwas wie Close(tblRef[1],No Save) verwenden (oder die Tabellen aus der Liste indizieren, die der Multiple File Import generiert). Wenn das nicht funktioniert, würden mich die Umstände interessieren.
Danke! Anziehen
Betreff: Datentabelle für den Import mehrerer Dateien mit automatischer Benennung@DonMcCormack ,
Diese Methode funktioniert bis zu einem gewissen Punkt.Wenn ich dies tue, kann ich die Tabelle nicht mit "Close(tblRef, NoSave)" schließen.Kanst du?Meine Methode besteht darin, die Referenz nach dem Import als "tblRef = Current Data Table();" zu setzen.Dies scheint ein Fehler in JMP 16.2 und JMP 17.0.0 zu sein.
Gedanken?
Martin
Betreff: Datentabelle für den Import mehrerer Dateien mit automatischer BenennungMFI gibt immer eine {Liste von Tabellen} zurück, auch wenn es nur eine einzige Tabelle gibt. In @DonMcCormack Antwort wird der <
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( ... )
Wenn Sie diesen Wurf in ein paar Jahren bekommen, dauert es möglicherweise nur eine Stunde, um ihn zu reparieren, anstatt einen Tag, um herauszufinden, warum er nicht mehr funktioniert.
Betreff: Datentabelle für den Import mehrerer Dateien mit automatischer BenennungZusätzlich zu @DonMcCormack Sie müssen wahrscheinlich prüfen, welche Art von Daten Sie zurückerhalten. In diesem Fall handelt es sich um eine Liste.
Es ist immer besser, vorher mit bestimmten Verweisen direkt aus dem Befehl zu arbeiten, da statische Namen problematisch sein können. Siehe Screenshot, da die Datentabelle "Tiere" bereits existierte, wurde beim letzten Import "Tiere 2" erstellt.
Scripting Index ist großartig, um zu sehen, wie das funktioniert, sogar Sie können einige Variationen testen.
Betreff: Datentabelle für den Import mehrerer Dateien mit automatischer BenennungDanke schön! Das hat super funktioniert, ich werde auch mit der Verwendung von Referenzvariablen experimentieren, aber das war eine schnelle Lösung.
Betreff: Datentabelle für den Import mehrerer Dateien mit automatischer BenennungSie wetten. Import mehrerer Dateien gibt einen Verweis auf die erstellte Tabelle zurück. Damit können Sie den Namen ändern, z.
tblRef = Multiple File Import(...
);
tblRef << Set Name("My New Name");
Sie könnten direkt mit der Referenzvariablen arbeiten. Auf diese Weise müssen Sie sich keine Gedanken darüber machen, wie die Tabelle benannt wird.