2723_de-DE
JSL - was mache ich falsch?Hallo,
Ich versuche, ein einfaches Skript zu schreiben, das eine CSV-Datei öffnet und dann ausgewählte Spalten / Zeilen entfernt. Ich kann das Skript dazu bringen, die Tabelle zu öffnen, aber danach tut es nichts. Kannst du mir bitte mitteilen, wo ich falsch liege? Skript unten:
dt = offen (
Datei auswählen (
"Wählen Sie eine * .csv-Datei",
Aktuelles Verzeichnis abrufen (),
{"Alle JMP-Dateien | jmp; jsl; jrn; csv", "Alle Dateien | *"}
)
Säulen(
Name ("Datum") = Zeichen,
Zeit = Zeichen,
Zähler = Zeichen,
Gedruckte Nummer = Numerisch,
System Ergebnis = Zeichen,
PiercePosX 1 = Numerisch,
PiercePosX 2 = Numerisch,
PiercePos X = Numerisch,
Spalte 9 = Numerisch,
Spalte 10 = numerisch,
Spalte 11 = Numerisch,
Spalte 12 = numerisch,
Spalte 13 = numerisch,
Spalte 14 = numerisch,
Spalte 15 = numerisch,
Spalte 16 = numerisch,
Spalte 17 = Numerisch,
Spalte 18 = Numerisch,
Spalte 19 = numerisch,
Spalte 20 = numerisch,
Spalte 21 = numerisch,
Spalte 22 = Numerisch,
Spalte 23 = numerisch,
Spalte 24 = Numerisch,
Spalte 25 = numerisch,
Spalte 26 = numerisch,
Spalte 27 = Numerisch,
Spalte 28 = numerisch,
Spalte 29 = Numerisch,
Spalte 30 = numerisch,
Spalte 31 = Numerisch,
Spalte 32 = numerisch,
Spalte 33 = numerisch,
Spalte 34 = Numerisch,
Spalte 35 = Numerisch,
Spalte 36 = Numerisch,
Spalte 37 = numerisch,
Spalte 38 = Numerisch,
Spalte 39 = numerisch,
Spalte 40 = Numerisch,
Spalte 41 = Numerisch,
Spalte 42 = Numerisch,
Spalte 43 = Numerisch,
Spalte 44 = Numerisch,
Spalte 45 = Numerisch,
Spalte 46 = Numerisch,
Spalte 47 = Numerisch,
Spalte 48 = Numerisch,
Spalte 49 = Numerisch,
Spalte 50 = Numerisch,
Spalte 51 = Numerisch,
Spalte 52 = Numerisch,
Spalte 53 = Numerisch,
Spalte 54 = numerisch,
Spalte 55 = Numerisch,
Spalte 56 = numerisch
)
Importeinstellungen(
Zeilenende (CRLF, CR, LF),
Feldende (Komma),
Streifenzitate (0),
Verwenden Sie Apostrophe als Anführungszeichen (0),
Ganze Datei scannen (1),
Etiketten (1),
Spaltennamen beginnen (6),
Datenstarts (7),
Zu lesende Zeilen (alle),
Jahresregel ("10-90")
)
dt << lösche Zeilen (64);
dt << lösche Zeilen (63);
dt << lösche Zeilen (1);
);
Vielen Dank,
AdamRe: JSL - was mache ich falsch?Importieren Sie die benötigten Spalten aus der CSV-Datei in eine JMP-Tabelle. Angenommen, die Tabelle und die andere Tabelle haben eine gemeinsame Spalte, sehen Sie sich Tables> Join (nach übereinstimmender Spalte) oder Tables> Update an.Re: JSL - was mache ich falsch?Scheint zu funktionieren OK .. Ich weiß nicht, was ich geändert habe. Vielen Dank für deine Hilfe.
In einem separaten Hinweis (während sich das Skript weiterentwickelt) ist es für JMP möglich, Daten aus einer einzelnen Zelle in einer CSV-Datei zu extrahieren und diese Daten in die JMP-Datentabelle zu kopieren, wobei Daten (mehrere Zellen) aus der CSV-Datei extrahiert werden, dh Chargendetails und Bedienerkommentare. In der JMP-Datentabelle müssten die Chargendetails in den Zellen wiederholt werden ...
Das csv sieht so aus:
Stapel: xx (Einzelzelle)
Kommentare: x (einzelne Zelle)
Daten (mehrere Zeilen und Spalten) - werden bereits extrahiert.Re: JSL - was mache ich falsch?Was erhalten Sie im Protokoll, wenn Sie diese Zeilen nach der zweiten aktuellen Zeile einfügen:
Anzahl = n Elemente (Dateien);
show (count, files);
und den Rest weglassen.Re: JSL - was mache ich falsch?Danke, noch ein Problem ...
Aktuelles Verzeichnis festlegen ("xyz");
files = Dateien im Verzeichnis ("xyz");
Für (i = 1, i (kleiner oder gleich) N Items (Dateien), i ++,
Öffnen Sie (Dateien , ...
In der "for" -Anweisung erkennt "i" nur 2 Datendateien. Tatsächlich sind 8 im Verzeichnis vorhanden, wie in Dateien in der Verzeichnisfunktion korrekt angegeben. Irgendwelche Ideen?
Vielen DankRe: JSL - was mache ich falsch?Nochmals vielen Dank ... ein weiteres Problem.
Mit folgendem Skriptauszug:
Aktuelles Verzeichnis festlegen (
"xyz"
);
files = Dateien im Verzeichnis (
"xyz"
);
Für (i = 1, i <= N Elemente (Dateien), i ++,
Öffnen(
Dateien .
Ich in der for-Anweisung gibt nur den Wert 2 zurück (dh zwei Dateien im Verzeichnis), wenn tatsächlich acht vorhanden sind. Die Dateien in der Verzeichnisfunktion erkennt acht Dateien richtig.Re: JSL - was mache ich falsch?Ja, es ist möglich. Durchsuchen Sie das Forum nach "Mehrere Dateien öffnen" ohne Anführungszeichen. Möglicherweise finden Sie einige der Treffer hilfreich.Re: JSL - was mache ich falsch?Vielen Dank,
Ist es möglich, dass JMP mehrere CSV-Dateien gleichzeitig öffnet und verarbeitet? Ich hätte sie alle in einem Ordner mit bis zu 200 ungeraden CSV-Dateien (alle exakt dasselbe Format).Re: JSL - was mache ich falsch?Versuchen Sie, die 3 Zeilen zum Löschen nach dem aktuellen letzten Semikolon zu verschieben.
Sie können übrigens mehrere Zeilen löschen, indem Sie das Argument zum Löschen von Zeilen als Liste oder Matrix angeben:
dt << Zeilen löschen ({64, 63, 1})
oder
dt << Zeilen löschen ([64 63 1])