Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Mittlerweile liegen im selben Verzeichnis C:\8 2400 solcher JMP-Dateien vor: JMP-Tabellen mit Dateinamen mit detaillierten Zeitstempeln und jeweils 5000 Datenzeilen. Beispiel: C:\8\20241031112503.JMP.
S5 E5 S4 E4 S3 E3 S2 E2 S1 E1 B1 T1 B2 T2 B3 T3 B4 T4 B5 T5 enco
6024 2 6023 10 6021 6 6020 96 6019 18 6018 400 6017 16 6016 78 6015 41 6014 8 603198
1263 88 1262 290 1261 254 1260 347 1259 301 1258 544 1257 364 1256 630 1255 1123 1254 362 600377
Jetzt muss die Tabelle neu organisiert werden, um die Datei entsprechend der Codenummer in der Spalte „enco“ zu speichern. Zur Unterscheidung müssen natürlich die Zeitstempeldaten im ursprünglichen Dateinamen mit demselben „enco“ hinzugefügt werden.
Anweisungen:
„enco“ wird nicht in jeder Zeile derselben Datei wiederholt.Und enco ist nicht genau das gleiche in 2400 Dateien
Der Schlüssel liegt darin, einen Weg zu finden, dies schnell zu erledigen. Mit der JMP-Software können entweder JSL- oder Python-Methoden verwendet werden (was auf Python in der JMP-Umgebung hinweist).
Wenn die Originaldatei im CSV-Format oder einem anderen Datenbankformat vorliegt, das für diese Art der Aufteilung und Sortierung besser geeignet ist, können Sie natürlich bessere Vorschläge machen. Vielen Dank!
Automatisierung und SkriptingWindowsBetreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Im Vergleich dazu sind Container am schnellsten, wenn man CSV-Bibliotheken und Wörterbücher direkt verwendet.
Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Ja, ich weiß auch, dass GPT-4o mit JSL der JMP-Software nicht vertraut ist.
Also habe ich es später direkt mit CSV umgehen lassen.
Fügen Sie dann die JSL-Syntax hinzu, um sie erneut zu ändern.
import os<BR />import duckdb<BR />import pandas as pd<BR />from pathlib import Path<BR />output_dir = Path(r"C:\3")<BR />output_dir.mkdir(exist_ok=True)<BR />con = duckdb.connect(":memory:")<BR />def process_csv_files():<BR />csv_files = list(Path(r"C:\8").glob("*.CSV"))<BR />first_file = csv_files[0]<BR />timestamp = first_file.stem <BR />con.execute("""<BR />CREATE TABLE all_data AS <BR />SELECT *, ? as file_timestamp <BR />FROM read_csv_auto(?)<BR />""", [timestamp, str(first_file)])<BR />for csv_file in csv_files[1:]:<BR />timestamp = csv_file.stem <BR />con.execute("""<BR />INSERT INTO all_data <BR />SELECT *, ? as file_timestamp <BR />FROM read_csv_auto(?)<BR />""", [timestamp, str(csv_file)])<BR />enco_values = con.execute("SELECT DISTINCT enco FROM all_data").fetchall()<BR />for (enco,) in enco_values:<BR />query = """<BR />SELECT * <BR />FROM all_data <BR />WHERE enco = ?<BR />ORDER BY file_timestamp<BR />"""<BR />df = con.execute(query, [enco]).df()<BR />output_file = output_dir / f"{enco}.csv"<BR />df.to_csv(output_file, index=False)<BR />if __name__ == "__main__":<BR />try:<BR />process_csv_files()<BR />except Exception as e:<BR />print(f"E: {str(e)}")Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Ich kann Vorschläge für JMP (und JSL) machen, aber dafür brauche ich mehr Beispiele und ein genaues Verständnis dessen, was Sie erreichen möchten. Versuchen Sie, für jede Enco eine eindeutige Datei zu haben? Enthalten alle Tabellen genau dieselben Spalten? Enthalten sie immer ähnliche Daten (Ganzzahlen)? Haben sie immer nur zwei Zeilen? Sind die Dateinamen immer im gleichen Format? Sind die Tabellenüberschriften richtig gesetzt oder sind die ersten Zeilen mit den Überschriften Zeichendaten?
Ich bin der Meinung, dass (reine) Python-Fragen (meistens) in andere Foren gehören. Wenn Sie die Daten als CSV-Dateien haben, sollte die Verwendung von DuckDB eine einfache Aufgabe sein. Außerdem lohnt es sich bei der Verwendung von Python auf jeden Fall, die Dokumentation der einzelnen von Ihnen verwendeten Bibliotheken zu lesen, anstatt sich nur auf LLM ( Reading Multiple Files – DuckDB ) zu verlassen.
Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Im Gegensatz dazu
Die Verarbeitung von CSV ist viel schneller.

Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Danke, Experten!
Ja, ich möchte auch neue Methoden ausprobieren.Experten fragen, wie man Python und DuckDB speziell implementiert?Vielen Dank!
Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Ich würde es zuerst mit dem Import mehrerer Dateien versuchen, wenn es damit zurechtkommt (eine einzelne Tabelle mit Quelle (Dateiname) erstellen und von dort aus weitermachen). Dann würde ich vielleicht eine JSL-Lösung ausprobieren, dann möglicherweise eine andere JSL-Lösung und schließlich die Python-Integration mit DuckDB.
Betreff: Wie kann ich aus vielen JMP-Tabellen schnell neue Tabellen zusammenstellen und unterschiedliche Tabellen generieren?Ich habe versucht, sie alle in einer JMP-Tabelle zu kombinieren und dann Teilmengen zu extrahieren.Die Geschwindigkeit ist langsam.
Das Erstellen unterschiedlicher Speicher-Arrays zum Verketten im Speicher geht zwar schneller, macht den Code dadurch jedoch komplexer.
Danke, Experten!