Ho circa 500 file di testo che devo combinare. Tutti non hanno intestazioni. I valori sono separati da virgola come di seguito. (il formato è lo stesso per tutti i file)
122,3410732003,,ABC2,P
122,3410732003,,ABC2I,13.6
122,3410732020,,ABC2,P
122,3410732020,,ABC2I,4.13
Pertanto, quando provo a utilizzare l'opzione di importazione di più file in JMP con le impostazioni CSV, mi avvisa che verranno generate 500 tabelle di dati.
E quando ho provato a importare i file utilizzando il testo (una riga per riga), tutti i dati sono in una colonna.
Sfortunatamente, non ne so abbastanza di scripting per scrivere il mio script. (Ho provato lo script allegato che ho trovato su questo forum, ma non sono riuscito a farlo funzionare, ovviamente sto facendo qualcosa di sbagliato!)
Qualsiasi aiuto in questo è molto apprezzato!
Grazie mille! È stato di grande aiuto!
È possibile eseguire questa operazione in modo interattivo con File > Importa più file utilizzando JMP 15. Vedi il JMP documentazione su questa struttura. Puoi usare questo comando anche in uno script.
Qualcosa del genere dovrebbe funzionare:
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);
);