Comment importer des fichiers JSON contenant des tableaux imbriqués doubles ?J'essaie d'importer un certain nombre de fichiers JSON qui contiennent des tableaux imbriqués doubles (voir l'exemple ci-dessous). Les tableaux ne suivent pas un format cohérent, il peut y avoir de nombreux objets dans chaque tableau ou aucun du tout. Je veux avoir un score par ligne comme indiqué ci-dessous.


Comment puis-je obtenir les données dans ce format en utilisant l'outil d'importation ? De plus, le nom de la prédiction n'est pas toujours orthographié de la même manière, par exemple, il s'agit parfois de "Small Cats" et parfois de "smallCats".
Accès aux donnéesRe : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?Il est beaucoup plus facile de répondre si vous pouvez partager un exemple de fichier JSON que vous souhaitez importer.
Re : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?J'ai joint ci-dessous, merci!
Re : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?Vous devrez peut-être écrire un analyseur personnalisé pour cela. Utilisation Charger le fichier texte (chemin_fichier, JSON) ; puis analysez le tableau associatif résultant. Ça devrait être en quelque sorte simple si le format est cohérent.
Re : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?Pour vous lancer dans les analyses personnalisées : vous devriez jeter un œil à la taupe de la pile : https://community.jmp.com/t5/JSL-Cookbook/The-stack-mole/ta-p/302563
Voir l'implémentation ci-jointe (nécessite votre fichier json dans le dossier des téléchargements). Pas exactement ce que vous voulez, mais plus près.
Re : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?Voici un exemple que vous pouvez essayer pour vous aider à démarrer. Il semble faire ce que vous voulez, sur l'exemple de fichier que vous avez fourni. Dans votre cas particulier, l'analyse personnalisée est relativement simple, bien que ce ne soit pas toujours le cas. Pour les structures plus profondes et plus alambiquées, l'analyse avec récursivité serait probablement préférable.
Acclamations,
brady
Names Default To Here(1);
aa = Load Text File(pickfile(), "JSON");
/* since only the "prediction" key of the main array produces varying row values, the following AA can be used
to write those columns with nonvarying values, after all else is done.
*/
constantsAA = remove(aa, "prediction");
dt = new table("Parsed results",
<< new column("Points 1"), <<NEW column=""> 0, //if the value for this cat type is an empty list, there is no data, so skip the body of the loop
for each({w, k}, aa["prediction"][v], //else, cycle through the list values, writing to the table
dt << add rows(1);
dt[nrow(dt), 1::4] = shape( Matrix(w["data"]["points"] ), 1); // places the values from {{x, y}, {w, z}}, into the 1st 4 table columns
dt:Cat type = v;
dt:Score = w["score"];
dt: Frame Type = w["type"];
);
)
);
//now, cycle through the AA containing "constant" data, adding this to the table
//Note: the char() function was employed to deal with the "flagged" column's unquoted 'true' value.
for each({v, i}, constantsAA << get keys,
dt << new column(v, character, <<SET each="" value=""></SET></NEW>Re : Comment importez-vous des JSON contenant des tableaux doublement imbriqués ?J'avais une version très similaire à @brady_brady , mais il y a quelques petites différences qui pourraient donner quelques idées à réfléchir, donc je la partage :
Voir plus...