Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Ora ci sono 2400 di questi file JMP nella stessa directory C:\8: tabelle JMP con nomi di file con timestamp dettagliati e 5000 righe di dati ciascuna. Ad esempio, 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
Ora è necessario riorganizzare la tabella per salvare il file in base al numero di codice della colonna "enco", ovviamente lo stesso "enco", in modo che i dati di timestamp nel nome del file originale vengano aggiunti per distinguerlo.
Istruzioni:
"enco" non viene ripetuto su ogni riga dello stesso file.E enco non è esattamente lo stesso nei file 2400
La chiave è trovare un modo per farlo rapidamente. Con il software JMP è possibile utilizzare sia i metodi JSL che Python (indicando Python nell'ambiente JMP).
Naturalmente, se il file originale è in formato CSV o in un formato di database più adatto a questo tipo di suddivisione e ordinamento, puoi fornirci suggerimenti migliori. Grazie!
Automazione e scriptingFinestreR: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Confrontati con, o utilizzando direttamente, librerie CSV e dizionari, i contenitori sono i più veloci.
R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Sì, so anche che GPT-4o non ha familiarità con il software JSL o JMP.
Quindi in seguito ho lasciato che gestisse direttamente i CSV.
Quindi aggiungi la sintassi JSL per modificarla nuovamente.
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)}")R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Posso fornire suggerimenti per JMP (e JSL), ma per questo ho bisogno di più esempi e di una corretta comprensione di ciò che stai cercando di ottenere. Stai cercando di avere un file univoco per ogni enco? Tutte le tabelle contengono esattamente le stesse colonne? Contengono sempre dati simili (numeri interi)? Hanno sempre solo due righe? I nomi dei file sono sempre nello stesso formato? Le tabelle hanno intestazioni impostate correttamente o la prima riga è composta da dati di caratteri con le intestazioni?
Ritengo che le domande (puramente) su Python appartengano (per lo più) ad altri forum. Se hai i dati come file .csv, usare DuckDB dovrebbe essere un compito semplice. Inoltre, quando usi Python, vale sicuramente la pena imparare a leggere la documentazione di ciascuna delle librerie che stai usando invece di affidarti solo a LLM ( Reading Multiple Files – DuckDB ).
R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Al contrario
L'elaborazione dei file CSV è molto più rapida.

R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Grazie Esperti!
Sì, voglio anche provare nuovi metodi.Chiedi agli esperti come implementare Python e DuckDB in modo specifico?Grazie mille!
R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Proverei prima con Multiple File Import se può gestirlo (creare una singola tabella con sorgente (nome file) e procedere da lì). Poi proverei forse qualche soluzione JSL, poi forse qualche altra soluzione JSL e infine l'integrazione Python con DuckDB.
R: Come posso riassemblare e generare rapidamente tabelle diverse da molte tabelle JMP?Ho provato a combinarli tutti in una tabella JMP e poi a estrarne i sottoinsiemi.La velocità è lenta.
È più veloce creare diversi array di memoria da concatenare, ma renderà il codice più complesso.
Grazie Esperti!