텍스트 파일 첨부여러분, 안녕하세요,
2800개의 텍스트 파일이 들어 있는 폴더가 있습니다. 각 텍스트 파일에는 3개의 열이 있습니다. 이 모든 텍스트 파일을 단일 JMP 파일에 조인할 수 있기를 원합니다(줄 번호로 조인을 수행하여). 따라서 이 JMP 파일에는 2800*3 열이 있습니다.
비고 :
모든 파일을 결합하기 전에 각 파일의 열에 제목을 추가해야 합니다.
제목 열 1: x-파일 이름
제목 열 2: y-파일 이름
제목 열 3: 파일 이름-값
열려 있는 파일의 이름에 해당하는 "nomdufichier"를 사용합니다.
다음 코드를 사용하여 폴더 이름과 이 폴더에서 열 텍스트 파일의 모든 이름을 검색합니다.
// Chemin du répertoire contenant les fichiers textes
chemin_du_repertoire = "chemin\du\dossier";
// Parcourir le répertoire et obtenir les noms des fichiers
noms_fichier = Files In Directory(chemin_du_repertoire, "\*.txt");
그러나 나머지는 출발점이 없습니다.
귀하의 도움과 답변에 감사드립니다!
자동화 및 스크립팅데이터 접근Re: Joindre fichiers 텍스트좋은 출발점을 얻으려면 JMP와 대화식으로 한 쌍의 파일에 대한 작업을 수행한 다음 고급 로그에서 스크립트를 복사합니다. 그런 다음 스크립트에서 훨씬 더 쉽게 작동하도록 JMP에서 만든 스크립트를 수정하기 시작할 수 있습니다.
Re: 텍스트 파일 첨부텍스트 파일을 올바른 열 제목이 있는 JMP 파일로 변환할 수 있는 스크립트를 작성했습니다.
그러나 이러한 모든 파일의 온라인 조인을 수행하는 것은 더 어렵습니다.
다음 스크립트로 시도했습니다.
// Chemin du dossier contenant les fichiers texte
dossier = "......";
// Obtenir la liste de tous les fichiers dans le dossier
listeFichiers = Files In Directory(dossier);
// Créer une nouvelle table pour stocker les données combinées
table = New Table("Data Table");
// Boucle pour charger et combiner les fichiers
for (i = 1, i <= N Items(listeFichiers), i++,
fichierCourant = dossier || listeFichiers[i];
dt = Open(fichierCourant);
// Ajouter les colonnes du fichier courant à la table combinée
table << Join(With(dt),By Row Number);
// Fermer le fichier courant
Close(dt, NoSave);
);Re: Joindre fichiers 텍스트조인을 사용하면 항상 새 테이블을 생성할 가능성이 높으므로 이를 처리해야 합니다. 다른 옵션은 업데이트를 대신 사용하는 것입니다.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("A1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3]))
);
dt1 = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("B1", Numeric, "Continuous", Format("Best", 12), Set Values([4, 5, 6]))
);
wait(1);
dt << Update(
With(Data Table("Untitled 2")),
Replace Columns in Main Table(None)
);
Close(dt1, no save);
(대화식 옵션으로 먼저 시도하십시오)
Re: 텍스트 파일 첨부나는 잘 작동하는 스크립트를 아래에 작성했지만 2800 파일을 실행하는 데 오랜 시간이 걸립니다.
Names Default To Here( 1 );
// Début de la mesure du temps
start=tick seconds();
// Chemin du dossier contenant les fichiers texte
dossier = "...";
// Obtenir la liste de tous les fichiers dans le dossier
listeFichiers = Files In Directory(dossier);
For ( i = 1 , i <= 2862 , i++,
Names Default To Here( 1 );
if( i == 1,
fichierCourant = dossier || listeFichiers[1];
fichierCourant1 = dossier || listeFichiers[Num(i+1)];
dt = Open(fichierCourant);
dt1 = Open(fichierCourant1);
dt << Join(
With( dt1 ),
By Row Number,
Output Table( "Sans titre.jmp" )
);
Close(dt,NoSave);
Close(dt1,NoSave);
dt = current data table();
,
dt = current data table();
fichierCourant1 = dossier || listeFichiers[Num(i+1)];
dt1 = Open(fichierCourant1);
dt << Join(
With( dt1 ),
By Row Number,
Output Table( "Sans titre.jmp" )
);
Close(dt,NoSave);
Close(dt1,NoSave);
);
);
end=tick seconds();
runtime=end-start;
durée=runtime/60;
result=(Char("La durée est de ")||Char(durée,5) || " "||Char("minutes"));
show(result);당신의 도움을 주셔서 감사합니다 !