¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Ahora hay 2400 archivos JMP de este tipo en el mismo directorio C:\8: tablas JMP con nombres de archivo con marcas de tiempo detalladas y 5000 filas de datos cada una. Por ejemplo, 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
Ahora es necesario reorganizar la tabla para guardar el archivo de acuerdo con el número de código de la columna "enco", por supuesto, el mismo "enco" para que se agreguen los datos de la marca de tiempo en el nombre del archivo original para distinguirlo.
Instrucciones:
"enco" no se repite en cada línea del mismo archivo.Y enco no es exactamente lo mismo en archivos 2400
La clave es encontrar una forma de hacer esto rápidamente. Se pueden utilizar métodos JSL o Python con el software JMP (indicando Python en el entorno JMP).
Por supuesto, si el archivo original está en formato CSV o algún formato de base de datos que sea más conveniente para este tipo de división y clasificación, puede proporcionar mejores sugerencias. ¡Gracias!
Automatización y scriptingVentanasRe: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?En comparación, o si utilizamos directamente bibliotecas y diccionarios CSV, los contenedores son los más rápidos.
Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Sí, también sé que GPT-4o no está familiarizado con el software JSL del JMP.
Luego dejé que manejara CSV directamente.
Luego agrega la sintaxis JSL para modificarlo nuevamente.
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)}")Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Puedo ofrecer sugerencias para JMP (y JSL), pero para eso necesito más ejemplos y una comprensión adecuada de lo que intentas lograr. ¿Estás intentando tener un archivo único para cada codificación? ¿Todas las tablas contienen exactamente las mismas columnas? ¿Siempre contienen datos similares (enteros)? ¿Siempre tienen solo dos filas? ¿Los nombres de archivo siempre tienen el mismo formato? ¿Las tablas tienen encabezados configurados correctamente o la primera fila contiene datos de caracteres junto con los encabezados?
Considero que las preguntas sobre Python (puro) pertenecen (en su mayoría) a otros foros. Si tienes los datos como archivos .csv, usar DuckDB debería ser una tarea sencilla. Además, cuando se usa Python, definitivamente vale la pena aprender a leer la documentación de cada una de las bibliotecas que se usan en lugar de confiar solo en LLM ( Reading Multiple Files – DuckDB ).
Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Por el contrario
El procesamiento de CSV es mucho más rápido.

Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?¡Gracias expertos!
Sí, también quiero probar nuevos métodos.Pregunte a los expertos cómo implementar Python y DuckDB específicamente.¡Muchas gracias!
Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Primero probaría con la importación de varios archivos si puede manejar eso (crear una sola tabla con la fuente (nombre de archivo) y partir de allí). Luego, tal vez probaría alguna solución JSL, luego posiblemente alguna otra solución JSL y, por último, la integración de Python con DuckDB.
Re: ¿Cómo puedo volver a ensamblar y generar rápidamente diferentes tablas a partir de muchas tablas JMP?Intenté combinarlos todos en una tabla JMP y luego extraer subconjuntos.La velocidad es lenta.
Es más rápido crear diferentes matrices de memoria en la memoria para concatenar, pero esto hará que el código sea más complejo.
¡Gracias expertos!