blob vers la table de donnéesJ'ai un blob, sortie de runprogram.Le blob ressemble à ceci
blb = Char To Blob ("col1,col2~0D~0D~0AA,C~0D~0D~0AB,D~0D~0D~0A", "ascii~hex")Je voudrais le convertir en table de données.
Ce post indique que Open() peut ouvrir un blob, mais
Open(blb)
ne marche pas.
"Impossible d'ouvrir le conte en accès ou en évaluation de 'Open', Open/*###*/(blb)".
RunProgram peut également renvoyer du texte, mais je dois ensuite convertir une chaîne en table de données, ce qui semble difficile.
J'aimerais une solution de script s'il vous plaît, JMP v 15
Accès aux donnéesles fenêtresRe : blob vers table de donnéesMerci!
La clé, comme indiqué dans le message non archivé que vous avez partagé, est
Open(blb, "text")
Cela résout mon problème
Re : blob vers table de donnéesJ'ai désarchivé ce post Charger CSV à partir d'une variable .
Re : blob vers table de données1) Char to Blob et son contenu sont ce qui est renvoyé par l'appel à RunProgram
2) La sortie réelle du programme non-JMP appelé dans RunProgram est un fichier csv écrit sur la sortie standard.Je ne veux pas écrire le csv dans un emplacement de fichier, donc pas de chemin de fichier
3) D'après la discussion liée, il semble que l'utilisation d'un blob au lieu d'un chemin dans Open ait été essayée ici , mais ce message n'est plus disponible pour une raison quelconque
Re : blob vers table de donnéesLe blob provient de RunProgram, avec ReadFunction défini sur "blob".Le programme appelé dans RunProgram écrit un fichier CSV sur la sortie standard, où il est récupéré par RunProgram et renvoyé sous forme de blob.Je peux également le renvoyer sous forme de texte, mais comme je l'ai dit, l'analyse du texte dans un bloc de données semble difficile.Si je me trompe, faites-le-moi savoir.
Ce que je ne veux pas faire, c'est que le programme non-JMP écrive un fichier CSV réel, puis l'ouvre, car jongler avec les fichiers CSV temporaires ne fonctionnera pas dans mon application.
Re : blob vers table de donnéesJe ne sais pas comment vous obtenez votre blob ni s'il est correctement formaté, mais voici un exemple dans lequel j'enregistre une table de données en tant que fichier JMP standard, puis je la lis en tant que blob.Une fois que j'ai ce blob, c'est assez simple de le convertir en tableau (dernière ligne)
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Save( "$TEMP\BLOB_TEST.jmp" );
Close( dt, No Save );
file = Load Text File( "$TEMP\BLOB_TEST.jmp", "Blob" );
table = Open( file, JMP );
Re : blob vers table de donnéesLa fonction Open() fonctionne avec des fichiers. L'argument doit être un chemin de fichier. Vous devez d'abord diffuser le blog avant de pouvoir l'ouvrir.La discussion que vous avez citée utilise Open() après qu'une chaîne soit enregistrée dans un fichier texte dans un format similaire au CSV. Craig suggère qu'Open() fonctionne avec un blog comme argument au lieu d'un chemin, mais cela n'est pas explicitement essayé.
Avez-vous confirmé que la fonction Char to Blob() renvoie un blob valide ?
Désolé, je suis confus maintenant !