Problème de formatage des données numériques à partir d'un fichier TxtChère communauté,
J'essaie de créer un script jsl pour importer correctement des données formatées comme dans le fichier d'exemple ecnlosed. Je suis confronté à deux défis :
- Le signe décimal est "," au lieu de ".". En utilisant la configuration par défaut de mes préférences régionales, JMP interprète le "," comme un délimiteur de milliers. Comment forcer JMP à interpréter correctement ces nombres dans un script jsl ?
- les nombres négatifs sont formatés comme suit : 64 000-. JMP peut-il gérer un tel format ?
Une solution pourrait être de reformater le fichier txt, mais il s'agit d'un extrait de l'ERP et l'équipe informatique ne comprend pas que je n'arrive pas à gérer un tel fichier alors qu'Excel le fait.
Merci et salutations,
Jérôme
Automatisation et scriptsPersonnalisation de masseRe: Problème de formatage des données numériques du fichier TxtSalut,
Vous pouvez essayer quelque chose comme ce qui suit ; pendant que vous mentionnez que le service informatique ne comprend pas votre problème, vous pouvez utiliser JSL pour reformater le fichier vous-même. Bien qu'il existe probablement un paramètre d'importation pour gérer les virgules en tant que décimales, je ne peux pas y penser à première vue et je ne peux pas le trouver dans la documentation. Peut-être que quelqu'un d'autre répondra avec ce paramètre. Jusque-là, voyez si cela fait l'affaire. J'ai joint un exemple de fichier ; si vous le placez dans votre dossier Téléchargements, le script s'exécutera, espérons-le, sans modifications.
</CODE></P>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
//set these to reflect your path and file name
path = "$DOWNLOADS/";
origFile = "example.txt";
holdFile = "example_modified.txt";
//get text of original file and replace commas with decimals
txt = Substitute( Load Text File( path || origFile ), ",", "." );
//save resulting text to a file, open this file as a table, then delete the file
Save Text File( path || holdFile, txt );
dt = Open( path || holdFile );
Delete File( path || holdFile );
//create a new column. if the last character is not "-", the string is immediately converted to a number. If the last
//character IS a "-", the string is converted to a number after the "-" is moved to the first character of the string
dt << New Column( "xx", formula( Num( If( Right( :INFO, 1 ) != "-", :INFO, "-" || Left( :INFO, Length( :INFO ) - 1 ) ) ) ) );
//remove the formula, so we can delete the original INFO column and rename our new column to INFO
dt:xx << Delete Formula;
dt << Delete Columns( "INFO" );
dt:xx << set name( "INFO" );
Acclamations,
Brady
Re: Problème de formatage des données numériques du fichier TxtJ'adore cette solution intelligente, je ne connaissais pas cette façon de modifier directement les fichiers txt. Merci beaucoup!