Problem beim Formatieren numerischer Daten aus einer Txt-DateiLiebe Community,
Ich versuche, ein JSL-Skript zu erstellen, um Daten im Format der beigefügten Beispieldatei richtig zu importieren. Dabei stehe ich vor zwei Herausforderungen:
- Das Dezimalzeichen ist "," statt "." Wenn ich die Standardeinstellungen meiner regionalen Einstellungen verwende, interpretiert JMP das "," als Tausendertrennzeichen. Wie kann ich JMP zwingen, diese Zahlen in einem JSL-Skript richtig zu interpretieren?
- die negativen Zahlen werden wie folgt formatiert: 64.000-. Kann JMP mit diesem Format umgehen?
Eine Lösung wäre, die TXT-Datei neu zu formatieren. Allerdings handelt es sich um einen Auszug aus dem ERP und die IT versteht nicht, dass ich mit einer solchen Datei nicht klarkomme, Excel hingegen schon.
Danke und Grüße,
Hieronymus
Automatisierung und SkriptingMassenanpassungBetreff: Problem beim Formatieren numerischer Daten aus der TXT-DateiIch liebe diese intelligente Lösung, ich kannte diese Möglichkeit, TXT-Dateien direkt zu ändern, nicht. Vielen Dank!
Betreff: Problem beim Formatieren numerischer Daten aus der TXT-DateiHallo,
Sie könnten etwas wie Folgendes versuchen: Während Sie erwähnen, dass die IT-Abteilung Ihr Problem nicht versteht, können Sie JSL verwenden, um die Datei selbst neu zu formatieren. Während es wahrscheinlich eine Importeinstellung gibt, um die Kommas als Dezimalzahlen zu verarbeiten, kann ich mir das nicht ohne weiteres vorstellen und kann sie auch nicht in der Dokumentation finden. Vielleicht antwortet jemand anderes mit dieser Einstellung. Sehen Sie bis dahin, ob dies der Fall ist. Ich habe eine Beispieldatei angehängt; Wenn Sie es in Ihrem Download-Ordner ablegen, wird das Skript hoffentlich ohne Änderungen ausgeführt.
</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" );
Beifall,
Brady