Trasposizione di una tabella di dati molto grandeCIAO,
Ho un file di dati molto grande (oltre 20 milioni di righe, 10 colonne) che devo trasporre. Sfortunatamente, jmp non è in grado di eseguire file così grandi in modo rapido o efficiente. Ho scoperto che jmp è in grado di manipolare i dati in formato testo molto facilmente. Ho provato tutte le opzioni di salvataggio/apri come .txt ma niente..
Qualcuno può aiutare a trasporre questa tabella in formato txt o tabella dati (elenco, array ecc.)?
Ho bisogno della seguente tabella di esempio per assomigliare all'output di seguito, senza utilizzare la funzione "transpose". poiché non funzionerà per oltre un milione di righe: ''
Tabella dati :
col1 col2
al
s w
4 j
t sdf
T
o
P
Output desiderato (come file txt o tabella con solo 1 colonna e 2 righe):
col1, la,s,4,t,t,o,p
col2,l,w,j,sdf
Per favore e grazie 
Ri: Come configurare Python per JMP 14?Quando specifichi la posizione python come
Python Init(Percorso("/Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib"),
Usa versione Python("3.7")
);
Stai affermando che questa è la versione specifica di Python che desideri utilizzare, situata dove hai specificato. Se si chiama Ptyhon Init() senza argomenti o con meno argomenti come Python Init(Use Python Version(“3.7”) ), JMP esegue più ricerche per cercare di individuare un Python appropriato. Su Mac probabilmente dovrai sempre specificare almeno la versione poiché Apple fornisce Python 2.7 con il sistema operativo. Stiamo continuando a lavorare per migliorare il supporto di Python in JMP.
Ri: Come configurare Python per JMP 14?@Paolo_Nelson , sulla base dell'ultimo post di GM1:
eseguendo questo script:
Clear Log();
Names Default To Here( 1 );
Python Init(Path("/Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib"),
Use Python Version("3.7")
);
Python Submit("\[
print("Done importing modules")
]\");
Python Term();
fornisce il seguente output nel registro:

Eseguendo questo script JSL:
Clear Log();
Names Default To Here( 1 );
Python Init(Path("/Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib"),
Use Python Version("3.7")
);
Python Submit("\[
import numpy as np
print("Done importing modules")
]\");
Python Term();
restituisce al log il seguente output:

Dato il codice di uscita riuscito, penso che questo errore sia molto poco chiaro. JMP/JSL sembra non sapere dove trovare i moduli da importare?? Qualsiasi aiuto è molto apprezzato
Ri: trasposizione di una tabella di dati molto grandeÈ grandioso! Grazie Craige per l'ottimo supporto!
Ri: trasposizione di una tabella di dati molto grandeMolte scelte. Forse qualcosa del genere per post-elaborare la stringa.
regex("a,b,c,,,,,,,", ",*$", "", GLOBALREPLACE)
/*:
"a,b,c"
Ecco alcune informazioni sulla manipolazione dei personaggi:
http://www.jmp.com/support/help/Work_with_Character_Functions.shtml
https://community.jmp.com/t5/Uncharted/JSL-Character-String-Functions/ba-p/21323
https://community.jmp.com/t5/Uncharted/Regex/ba-p/21008
https://community.jmp.com/t5/Uncharted/Pattern-Matching/ba-p/21005
https://community.jmp.com/t5/Uncharted/Back-Reference/ba-p/21267
Ri: trasposizione di una tabella di dati molto grandeMolto bello grazie. Sebbene utile, volevo in particolare ottenere solo il valore della stringa nella cella. Sfortunatamente la stringa include separazioni con virgole aggiuntive per le celle vuote.
cioè. dato che ci sono 2 colonne, la prima colonna ha 10 righe e la seconda colonna ha solo dati per 5 righe. Quando implemento la stringa concatenata che hai menzionato sopra, ottengo il valore della stringa per il secondo col come astring = "a,s,r,w,d,,,,,,"
Sono particolarmente interessato a ottenere solo "a,s,r,w,d", escludendo le separazioni con virgola extra. Qualche indicazione che puoi indicarmi? Lo apprezzerei molto.
Grazie,
Shiv
Ri: trasposizione di una tabella di dati molto grandeSÌ, http://www.jmp.com/support/help/Accessing_Data_Values.shtml#790448 ha un esempio come questo:
dt:età[10] = 20; // imposta il valore dell'età nella riga 10 su 20
Potresti voler creare un prototipo di tabella a 2 righe con i nomi delle colonne (e i tipi di dati!) di cui hai bisogno e utilizzare lo "script get" dal menu del triangolo rosso. Puoi quindi incollare quello script nel tuo codice. Nell'esempio precedente, [10] è per la riga 10; potresti usare due assegnazioni per [1] e [2]. Il 20 è per una colonna numerica; la tua colonna è carattere se la variabile astring verrà memorizzata in essa.
Ri: trasposizione di una tabella di dati molto grandeSuper grazie per la rapida risposta! Più facile di quanto pensassi. 
Ad ogni modo, posso assegnare una particolare cella in una tabella per essere questa stringa?
in modo tale da avere una tabella che ha (prendendo l'esempio originale che ho usato) 1 colonna e 2 righe simili alle seguenti:
Colonna 1
Riga 1: a,s,4,t,t,o,p
Riga2: l,w,j,sdfRi: trasposizione di una tabella di dati molto grandePenso che tu abbia colonne non numeriche quindi non puoi usare una matrice, potresti rendere il tuo valore di stringa come una concatenazione di elementi in un elenco e puoi ottenere un elenco da una colonna di caratteri con il messaggio <
alist = dt:a<<GETVALUES></GETVALUES>
N elementi(elenco) = 21000000;
Lunghezza(astringa) = 207635028;
Left(astring, 100) = "1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,";
JMP ha un limite di 2 miliardi di caratteri per una stringa. Potresti essere vicino.