Comment enregistrer les entrées de colonne dans un fichier texte sans guillemets sur chaque ligneBonjour.... J'essaie d'enregistrer les entrées de colonne dans un fichier texte sans nom de colonne. Ces fichiers texte sont utilisés par le code VB dans un autre programme existant qui s'attend à ce que les champs de chaque ligne soient séparés par des virgules. Je peux obtenir les fichiers texte créés sans le nom de la colonne (grâce au post précédent d'un autre utilisateur !) mais je n'arrive pas à obtenir le code pour ne pas mettre de guillemets autour des entrées pour chaque ligne. J'ai essayé plusieurs options dans "End of Field", mais toutes ajoutent toujours des guillemets. Je sais que si je change le délimiteur de chaque ligne pour qu'il soit autre chose qu'une virgule (ex. ".") alors je peux obtenir le code JSL pour ne pas ajouter les guillemets, mais le code VB externe est attendu "," délimiteur et difficile à changer car il s'agit d'un code hérité utilisé par beaucoup. Des idées pour éviter les guillemets tout en conservant le délimiteur par virgule dans chaque ligne ? Je pourrais bien sûr les supprimer dans l'éditeur, mais plusieurs de ces fichiers txt peuvent être générés. JMP version 16.2, Win10.
Exemple:

J'en ai besoin comme ça :
MD16616,1,23,3,
MD16616,1,26,4,
MD16616,1,22,4,
MD16616,1,23,4,
MD16616,1,16,2,
MD16616,1,11,6,
MD16616,1,24,7,
dt << Select Where(As Column(groupColName) == groupNames[i]);
sortdt = dt << Subset(Selected Rows, Columns(:ECIDSort));
sortfile = ECIDListPath||"\WaferSort_"||GroupNames[i]||".txt";
//Save ecid sort files, to get in correct format, need to changes export preferences, but don't worry, we'll set them back the way they were
_xx = Get Preference(Export settings);
Preference(
Export Settings(
End Of Line( CRLF ),
//End Of Field( Comma ),
End of Field(Comma, CSV(0)),
//End Of Field( Space, CSV( 0 ) ),
Export Table Headers( 0 ),
Quote all column names( 0 ),
Quote all character values( 0 ),
Quote all numeric values( 0 )
)
);
sortdt << Save As(sortfile);
_xx; //reset preferences
close(sortdt, no save);
Automatisation et scriptRe : Comment enregistrer les entrées de colonne dans un fichier texte sans guillemets sur chaque ligneÀ quoi ressemble votre tableau de données ? Quelque chose comme ça?

ou comme ça?

Une option consisterait à créer une chaîne, puis à l'enregistrer à l'aide de save text file().
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values(
{"MD16616,1,23,3,", "MD16616,1,26,4,", "MD16616,1,22,4,", "MD16616,1,23,4,", "MD16616,1,16,2,", "MD16616,1,11,6,",
"MD16616,1,24,7,"}
)
)
);
save_str = "";
For Each Row(dt,
save_str ||= :Column 1 ||"\!N"
);
Save Text File("$DOWNLOADS/text.txt", save_str);
Vous devrez peut-être utiliser différentes modifications de ligne ou supprimer la dernière modification de ligne en fonction de votre autre application.
De plus, si vous manipulez les préférences des utilisateurs, vous devez les enregistrer dans un fichier temporaire, il y aura des cas où JMP plantera par exemple avant que vous ne puissiez les rétablir.
Re : Comment enregistrer les entrées de colonne dans un fichier texte sans guillemets sur chaque ligneJe pense que les virgules incorporées dans le champ de texte sont traitées comme des caractères spéciaux. Chaque fois que des caractères spéciaux se trouvent dans le texte, ils seront placés entre guillemets doubles lors de l'exportation, quelle que soit la manière dont vous définissez les préférences. Je ne connais pas de solution de contournement autre que de supprimer les virgules et de les remplacer par des blancs ou des traits de soulignement. L'option de triangle rouge "Remplacer la chaîne..." dans le Plateforme de recodage peut aider avec cela.
Re : Comment enregistrer les entrées de colonne dans un fichier texte sans guillemets sur chaque ligneLa table de données dans JMP ressemble à la 2e que vous avez montrée. Votre solution fonctionne parfaitement. Merci beaucoup! Et dûment noté sur le changement de préférences ... n'avait pas pensé au scénario de crash.