Fichier .json aux tableaux de bordJ'ai suivi le document d'analyse syntaxique JSON de Craige et Xan. J'utilise JMP 13.
https://community.jmp.com/t5/JMP-Scripts/JSON-Parsing-Functions/ta-p/22253
Cette question peut être simple pour beaucoup de gens. Je suis assez nouveau dans le domaine des scripts et j'apprécie vraiment votre aide.
J'ai un fichier .json automatiquement créé dans un dossier après que l'utilisateur a effectué une sélection sur le Web (numéro de lot, numéro de wafer, paramètre). Je veux exécuter un script d'arrière-plan qui prend automatiquement ce fichier .json qui doit accéder à un ensemble de dossiers pour calculer la tendance. Comme chaque fois qu'un fichier .json est créé dans ce dossier, le script doit être exécuté pour le calcul.
Est-il possible d'ajouter
include("$downloads/JSON Parser II.jsl");JSON:MAKETABLE(source);
au début et au début d'un script json sans ouvrir le fichier .json? Est-ce que je suis dans le bon chemin ou dois-je utiliser le fichier .json pour le mettre en œuvre différemment?
Je vous remercie.
Re: fichier .json aux tableaux de bordEdit: trop de choses à faire ... toutes les références XML ci-dessous doivent être à la place de json ...
La question initiale portait également sur l'utilisation d'un nom de dossier à partir des données XML. Ce dossier contient un fichier CSV avec les données réelles. Le nom du dossier est dans une colonne avec un nom comme Infoes.Name. Le nom en pointillé représente un chemin imbriqué dans l'arborescence XML. Vous pouvez l'utiliser pour ouvrir un fichier dans le dossier.
Je recommande d’utiliser la vue d’importation de texte pour créer un la source script que vous pouvez copier à partir de la table importée. Le script ressemblera à quelque chose comme ça (utilisez le clic droit-> éditer sur la source pour en obtenir une copie):
Text import preview source scriptScript source d'aperçu de l'importation de texte
Open(
"C:\Users\v1\Desktop\stories.csv",
columns(
...
),
Import Settings(
...
)
)
Vous pouvez remplacer le nom de fichier cité sur la deuxième ligne par une variable JSL contenant le nom du fichier dont vous avez réellement besoin. Je ne sais pas si votre fichier XML ne contient qu'un ou plusieurs fichiers. vous pouvez utiliser quelque chose comme ceci pour tous les traiter.
For( irow = 1, irow <= N Rows( dtXML ), irow++,
filename = dtXML:Infoes.Name[irow] || "\data.csv";
show(filename); // check the log to see if this looks right
dtCSV = Open( filename, columns(...), Import Settings(...) );
// do something with the data
// ... maybe dtCSV< // then close the table...
Close( dtCSV, "nosave" );
)
Vous devrez penser au \ dans le nom du chemin que je viens de coller devant le nom data.csv codé en dur, et vous aurez peut-être besoin d'obtenir le nom de fichier réel d'une autre variable. Etant donné qu’il existe plusieurs tables de données ouvertes, veillez à utiliser des noms de variable JSL distincts pour éviter toute confusion, et utilisez le nom de variable JSL pour éviter l’utilisation de la tableau de données actuel , car il ne sera pas évident quelle table est en cours.
Re: fichier .json aux tableaux de bordJe ne savais pas que ça faisait 13, cool!
Re: fichier .json aux tableaux de bordDans JMP 13, il existe des fonctions d'analyse JSON intégrées. Les fonctions JSON à répertorier, Charger un fichier texte et Ouvrir prennent en charge le type de fichier JSON.
Si vous souhaitez simplement convertir un fichier JSON en une table de données JMP, vous pouvez utiliser la fonction Ouvrir avec l'option JSON.
dt = Open( "$documents\test.json", JSON );
Edit: la fonction Open doit faire la même chose que la fonction JSON: MAKETABLE des utilitaires JSON.
Re: fichier .json aux tableaux de bordutilisez la fonction LoadTextFile pour ouvrir le fichier json et le stocker dans la source .
source = LoadTextFile("$desktop/x.json");