J'ai environ 500 fichiers texte que je dois combiner. Tous n'ont pas d'en-tête. Les valeurs sont séparées par des virgules comme ci-dessous. (le format est le même pour tous les fichiers)
122,3410732003, ABC2, P
122,3410732003, ABC2I, 13,6
122,3410732020`` ABC2, P
122,3410732020`` ABC2I, 4.13
Ainsi, lorsque j'essaie d'utiliser l'option d'importation de fichiers multiples dans JMP avec les paramètres csv, cela me prévient que 500 tables de données seront générées.
Et quand j'ai essayé d'importer les fichiers en utilisant le texte (une ligne par ligne), toutes les données sont dans une colonne.
Malheureusement, je ne connais pas assez les scripts pour écrire mon propre script. (J'ai essayé le script ci-joint que j'ai trouvé sur ce forum, mais je n'ai pas pu le faire fonctionner, je fais évidemment quelque chose de mal!)
Toute aide à cet égard est grandement appréciée!
Quelque chose comme ça devrait fonctionner:
Names Default To Here(1);
path = "C:\WIP\All text files\"; //note ending \
fileList = Files In Directory(path);
//use first table as "base datatable" to concatenate to
dt = Open(
path || fileList[1],
columns(
New Column("c000001", Numeric, "Continuous", Format("Best", 12)),
New Column("c000002", Numeric, "Continuous", Format("Best", 12)),
New Column("c000003", Numeric, "Continuous", Format("Best", 12)),
New Column("c000004", Character, "Nominal"),
New Column("c000005", Character, "Nominal")
),
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(0),
Column Names Start(1),
Data Starts(1),
Lines To Read("All"),
Year Rule("20xx")
)
);
//start from 2 because we already have file 1 as dt
For(i = 2, i <= N items(fileList), i++,
dt_temp = Open(
path || fileList[i],
columns(
New Column("c000001", Numeric, "Continuous", Format("Best", 12)),
New Column("c000002", Numeric, "Continuous", Format("Best", 12)),
New Column("c000003", Numeric, "Continuous", Format("Best", 12)),
New Column("c000004", Character, "Nominal"),
New Column("c000005", Character, "Nominal")
),
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(0),
Column Names Start(1),
Data Starts(1),
Lines To Read("All"),
Year Rule("20xx")
)
);
dt << Concatenate(dt_temp, Append to first table);
Close(dt_temp, no save);
);