많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?현재 동일한 디렉토리 C:\8에 2400개의 JMP 파일이 있습니다. 여기에는 자세한 타임스탬프와 각각 5000개의 데이터 행이 있는 파일 이름이 있는 JMP 테이블이 있습니다. 예를 들어, 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
이제 "enco" 열의 코드 번호에 따라 파일을 저장하기 위해 표를 재구성해야 합니다. 물론 원래 파일 이름의 타임스탬프 데이터를 추가하여 구별해야 하므로 "enco"와 동일해야 합니다.
지침:
"enco"는 같은 파일의 각 줄에 반복되지 않습니다.그리고 enco는 2400개 파일에서 정확히 동일하지 않습니다.
핵심은 이를 신속하게 수행할 수 있는 방법을 찾는 것입니다. JSL이나 Python 메서드는 JMP 소프트웨어와 함께 사용할 수 있습니다(JMP 환경에서 Python을 의미).
물론, 원본 파일이 CSV 형식이거나 이런 종류의 분할 및 정렬에 더 편리한 데이터베이스 형식인 경우 더 나은 제안을 제공하실 수 있습니다. 감사합니다!
자동화 및 스크립팅윈도우Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?비교해 보면 CSV 라이브러리와 사전을 직접 사용하는 것이 컨테이너가 가장 빠릅니다.
Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?네, 저도 GPT-4o가 JSL이나 JMP 소프트웨어에 익숙하지 않다는 걸 알고 있습니다.
그래서 나중에 CSV를 직접 처리하게 했습니다.
그런 다음 JSL 구문을 추가하여 다시 수정합니다.
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: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?JMP(및 JSL)에 대한 제안을 제공할 수 있지만, 그러기 위해서는 더 많은 예와 여러분이 달성하려는 바에 대한 적절한 이해가 필요합니다. 각 enco에 대해 고유한 파일을 하나씩 가지려고 합니까? 모든 테이블에 정확히 동일한 열이 있습니까? 항상 유사한 데이터(정수)가 있습니까? 항상 두 개의 행만 있습니까? 파일 이름은 항상 동일한 형식입니까? 테이블에 헤더가 제대로 설정되어 있습니까? 아니면 첫 번째 행에 헤더가 있는 문자 데이터가 있습니까?
(순수한) 파이썬 질문은 (대부분) 다른 포럼에 속한다고 생각합니다. .csv 파일로 데이터가 있는 경우 DuckDB를 사용하는 것은 간단한 작업이어야 합니다. 또한 파이썬을 사용할 때는 LLM( 여러 파일 읽기 - DuckDB )에만 의존하는 대신 사용하는 각 라이브러리의 문서를 읽는 법을 배우는 것이 확실히 가치가 있습니다.
Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?대조적으로
CSV 처리가 훨씬 빠릅니다.

Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?전문가 여러분 감사합니다!
네, 저도 새로운 방법을 시도하고 싶습니다.전문가에게 Python과 DuckDB를 구체적으로 구현하는 방법을 물어보세요.매우 감사합니다!
Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?먼저 Multiple File Import를 시도해 볼 수 있다면 (소스(파일 이름)으로 단일 테이블을 빌드하고 거기서부터 시작). 그런 다음 JSL 솔루션을 시도해 볼 수 있고, 그 다음에는 다른 JSL 솔루션을 시도해 볼 수 있고, 마지막으로 DuckDB와 Python 통합을 시도해 볼 수 있습니다.
Re: 많은 JMP 테이블에서 다른 테이블을 빠르게 다시 조립하고 생성하려면 어떻게 해야 합니까?저는 이 모든 것을 JMP 테이블로 결합한 다음 하위 집합을 추출하려고 했습니다.속도가 느립니다.
연결할 서로 다른 메모리 배열을 메모리에 생성하는 것이 더 빠르지만, 코드가 더 복잡해집니다.
전문가 여러분 감사합니다!