Comment ajouter des données à un fichier sans l'ouvrir ?Je dois ajouter de nouvelles données à un fichier chaque semaine.
Existe-t-il un moyen pour moi de le faire sans ouvrir/charger le fichier dans le script JMP ?
dt = open("my.csv");
dt<< Concatenate(Data Table ("New data") , append to first table);
dt << Save("my.csv", Replace(1));
Merci!
Automatisation et scriptsAccès aux donnéesIngénierie Qualité et ProcédésRe : Comment ajouter des données à un fichier sans l'ouvrir ?@Dawn_Lun -- Si le fichier CSV comporte toujours <1E4 lignes, il sera probablement préférable de le charger en tant que table JMP, de le concaténer dans JMP, puis d'enregistrer la table JMP au format CSV. (1E4 est une supposition. 1E6 pourrait aussi convenir.)
Mais si le fichier CSV devient suffisamment volumineux pour qu'il faille plus de quelques secondes pour l'ouvrir, vous souhaiterez peut-être essayer l'approche de concaténation. L'approche de concaténation : enregistrez le nouveau (petit) fichier JMP dans un nouveau et petit CSV sur le disque (sans en-têtes). Utilisez loadTextFile sur le petit CSV pour obtenir une chaîne de texte. Utilisez ensuite SaveTextFile comme @txnelson suggéré de concaténer la petite chaîne de texte CSV au plus gros fichier CSV sur le disque avec le 3ème paramètre mode ("append").
Le problème potentiel avec la concaténation corrompt le gros fichier CSV à l'avenir. Si le petit fichier CSV modifie l'ordre des colonnes, le gros fichier CSV devient brouillé, mais sans aucun avertissement.
Une autre approche : conservez tous les petits fichiers CSV quotidiens dans un répertoire et utilisez Multiple File Import pour les ouvrir lorsque vous avez besoin de voir l'ensemble de l'ensemble sous forme de fichier unique. MFI empilera les fichiers si les en-têtes correspondent, et MFI est rapide. Utilisez peut-être la date dans le nom des petits fichiers CSV. Créez la date au format AAAAMMJJ pour qu'elle soit bien triée.
Si ces données sont importantes et que ce projet durera des mois, vous devez également effectuer des sauvegardes régulières. L'approche MFI signifie qu'il n'y a qu'un seul petit fichier CSV à ajouter à la sauvegarde à chaque cycle.
Re : Comment ajouter des données à un fichier sans l'ouvrir ?Je ne sais pas si vous ne pouvez pas ouvrir un fichier et y ajouter des fichiers si vous utilisez des tables JMP.Voici ce que je pense d'aussi proche que possible en utilisant les tables JMP.
names default to here(1);
new table("New Data",new column("name", character,set values({"BILLY","JIMMIE"})));
dt = open("$DOCUMENTS\Discussion Group\my.csv",private);
dt<< Concatenate(Data Table ("New data") , append to first table);
dt << Save("$DOCUMENTS\Discussion Group\my.csv", Replace(1));
close( dt, nosave );
Cependant, si vous écrivez le JSL pour convertir votre table de données « Nouvelle table » en une chaîne de caractères, qui est une chaîne de caractères avec des valeurs séparées par des virgules, vous pouvez nous
Save Text File(path, character string, mode("append");
et il sera ajouté à votre fichier .csv sans avoir à l'ouvrir