Problem beim Formatieren numerischer Daten aus einer Txt-DateiLiebe Gemeinde,
Ich versuche, ein JSL-Skript zu erstellen, um Daten korrekt zu importieren, die wie in der eingeschlossenen Beispieldatei formatiert sind. Ich stehe vor Herausforderungen:
- Das Dezimalzeichen ist "," statt ".". Durch die Verwendung der Standardeinstellungen meiner regionalen Einstellungen interpretiert JMP das "," als Tausendertrennzeichen. Wie erzwinge ich, dass JMP diese Nummer in einem JSL-Skript richtig interpretiert?
- die negativen Zahlen werden wie folgt formatiert: 64.000-. Kann JMP mit einem solchen Format umgehen.
Eine Lösung könnte darin bestehen, die txt-Datei neu zu formatieren, aber es ist ein Auszug aus dem ERP und das IT-Team versteht nicht, dass ich mit einer solchen Datei nicht umgehen kann, während Excel es tut.
Danke und Grüße,
Jérôme
SkriptingBetreff: Problem beim Formatieren numerischer Daten aus einer Txt-DateiHallo,
Sie könnten Folgendes versuchen; Während Sie erwähnen, dass die IT Ihr Problem nicht versteht, können Sie JSL verwenden, um die Datei selbst neu zu formatieren. Während es wahrscheinlich eine Importeinstellung gibt, um Kommas als Dezimalzeichen zu behandeln, kann ich mir das nicht sofort vorstellen und kann es in der Dokumentation nicht finden. Vielleicht antwortet jemand anders mit dieser Einstellung. Bis dahin sehen Sie, ob dies der Trick ist. Ich habe eine Beispieldatei angehängt; Wenn Sie es in Ihren Downloads-Ordner legen, 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" );
Prost,
Brady
Betreff: Problem beim Formatieren numerischer Daten aus einer Txt-DateiIch liebe diese clevere Lösung, ich wusste nicht, wie man TXT-Dateien direkt ändern kann. Vielen Dank!