Come posso salvare più tabelle di dati .jmp aperte come file .csv?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Come risultato del sottoinsieme di tabelle, ho più tabelle di dati .jmp che devo salvare come file .csv. Ho provato uno script per salvare tutte le tabelle aperte, ma posso farlo funzionare solo per il salvataggio come file .jmp.
openDTs=Lista ();For (i=1, i<=N Tabella (), i++, Inserisci in (openDTs, Tabella dati (i)););
For(i=1, i<=N elementi(openDTs),i++,openDTS <
Dall'operazione di sottoinsieme avrò un gran numero di tabelle aperte, quindi forse sarebbe meglio evitare di aprire così tante tabelle e provare a incorporare la procedura di salvataggio dopo l'operazione di sottoinsieme. Sono molto nuovo nello scripting e tutte le idee sono molto apprezzate.
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?Grazie mille. Quella sceneggiatura è quello che stavo cercando!
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?Pulito. Lo script di PMroz funziona perfettamente se si desidera acquisire indiscriminatamente tutti i dati da ciascuna tabella di dati. Lo script che ho fornito ti dà un po' più di controllo perché puoi selezionare quali colonne scrivere; può anche essere ottimizzato per selezionare righe specifiche o anche celle specifiche, se necessario. Dovresti essere in grado di inserire il codice dallo script nello script di PMroz per selezionare più tabelle di dati se hai bisogno di quel livello di controllo.
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?dt1 = aprire ( "$dati_campione\Big Class.jmp" ) ;
dt2 = aprire ( "$sample_data\Bands Data.jmp" ) ;
dt3 = aprire ( "$sample_data\Auto Raw Data.jmp" ) ;
dt4 = aprire ( "$dati_campione\Fitness.jmp" ) ;
openDTs = {} ;
Per ( io = 1 , io <= Tabella N () , io ++,
Inserire ( openDTs , Tabella dati ( io ) )
) ;
file_dir = "c:\temp\" ;
Per ( io = 1 , io <= N articoli ( openDTs ) , io ++,
un_nome = openDTS [ io ] << ottenere nome ;
percorso del file = file_dir || un_nome || ".csv" ;
openDTS [ io ] << Salva ( percorso del file ) ;
) ;
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?Grazie mille per la sceneggiatura. L'ho provato e ho lavorato su uno dei file .jmp. Il problema ora è che ho più di 400 tabelle jmp che avrei bisogno di salvare come file .csv con lo stesso nome delle tabelle jmp corrispondenti originali. Non riesco a trovare un modo per farlo.
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?Se fornisci un percorso con estensione .csv, verrà salvato come file csv.
dt = Nuova Tavola ( "Esempio CSV" , Aggiungi righe ( 3 ) ,
Nuova Colonna ( "Colonna 1" , Numerico , Continuo , Formato ( "Migliore" , 12 ) , Imposta valori ( [ 1 , 2 , 3 ] ) ) ,
Nuova Colonna ( "Colonna 2" , Carattere , Nominale , Imposta valori ( { "UN" , "B" , "C" } ) )
) ;
fp = "c:\temp\csv_esempio.csv" ;
dt << salva ( fp ) ;
Ri: Come posso salvare più tabelle di dati .jmp aperte come file .csv?Idealmente, questa sarebbe una semplice correzione a riga singola, ma esaminando questo, non sembra essere il caso. Salva E Salva come salva in modo specifico una tabella di dati JMP, poiché oltre al percorso/nome file, non ci sono parametri aggiuntivi per tali funzioni, come il tipo di file. C'è un'altra funzione di output del file, Salva file di testo , ma genera solo una stringa specifica in un file di testo. Fortunatamente, ho una notevole esperienza di programmazione, quindi il metodo per eseguire questo compito mi è sembrato piuttosto semplice dopo averci riflettuto, poiché la maggior parte dei linguaggi di programmazione creerebbe un file CSV in questo modo.
Di seguito è riportato uno script che realizza ciò che desideri, dovresti solo adattarlo alla tua tabella di dati; dovresti specificare le tue colonne particolari nella tua tabella di dati. Quello che fa questo script è innanzitutto determinare il numero di righe nella tabella dei dati. Quindi viene utilizzato un ciclo For per acquisire dati da colonne specifiche in ciascuna riga della tabella dati e scriverli in un file di testo. Nella prima riga viene creato un nuovo file o sovrascritto un file esistente. Per tutte le righe rimanenti, i dati vengono aggiunti al file esistente. Inoltre, in modo da non finire con un file che è solo una riga continua di dati, gli avanzamenti di riga vengono aggiunti a tutte le righe tranne l'ultima nel file.
L'unico vantaggio di dover scrivere file di testo in questo modo è che puoi scegliere quali colonne esportare se desideri solo determinati dati. Ovviamente, questo processo è noioso se vuoi tutti i tuoi dati e hai diverse colonne, ma come ho detto prima, questa tecnica è tipica nella maggior parte dei linguaggi di programmazione.
I nomi predefiniti sono qui ( 1 ) ;
dt = Tabella dei dati correnti () ;
ultima riga = N righe () ;
Per ( io = 1 , io <= ultima riga , io ++,
//ottenere colonne
posizione = : Posizione [ io ] ;
giorno = : Giorno [ io ] ;
tempo = : Tempo [ io ] ;
contare = : Contare [ io ] ;
Significare = : Significare [ io ] ;
max = : Massimo [ io ] ;
// crea una riga delimitata da virgole
csvRow = Oggetti concatenati (
{ posizione , Car ( giorno ) , Car ( tempo ) , Car ( contare ) , Car ( Significare ) , Car ( max )} ,
","
) ;
// salva la riga in un file di testo
Se ( io == 1 ,
Salva file di testo ( "$DESKTOP/File di prova.csv" , csvRow , Modalità ( "Sostituire" )) ,
Salva file di testo ( "$DESKTOP/File di prova.csv" , csvRow , Modalità ( "Aggiungere" ))
) ;
//esporta il feed di riga per tutte le righe tranne l'ultima
Se ( io != ultima riga , Salva file di testo ( "$DESKTOP/File di prova.csv" , "\!N" , Modalità ( "Aggiungere" ))) ;
) ;