Python scrive i dati dalla memoria a JMP solo in forma circolare?import jmp;file_path = r"C:\0\test.txt"
data = []
with open(file_path, 'r') as file:
for line in file:
row = line.strip().split('\t')
data.append([float(row[0]), float(row[1])])
dt = jmp.DataTable("New Table", len(data))
col_A = dt.new_column('A', jmp.DataType.Numeric)
col_B = dt.new_column('B', jmp.DataType.Numeric)
for i, (a, b) in enumerate(data):
dt['A'][i] = a
dt['B'][i] = b
Questo modulo funziona come nel codice JSL originale?
dt[0,0] = data[0,0]
Grazie Esperti!
Automazione e scriptingFinestreR: Python scrive i dati dalla memoria a JMP solo in forma circolare?Lo provo, non lo dico per filo e per segno.
import jmp;file_path = r"C:\0\test.txt"
data = []
with open(file_path, 'r') as file:
for line in file:
row = line.strip().split('\t')
data.append([float(row[0]), float(row[1])])
r=len(data)
print(f"num {b}")
jmp.run_jsl("""
ar=Python Get(date[]);r=Python Get(b);
d2=New Table("test",Add Rows(r),New Column("A"),New Column("B"));
d2[0,0] = ar[0,0]
""")R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Registrazione dello Scripters Club: Esecuzione di codice Python all'interno di JSL , ci sono esempi nella cartella di installazione di JMP \18\Samples\Scripts\Python e credo che alcuni siano nella guida di scripting Additional JSL-to-Python Examples (jmp.com) . Altri possono essere trovati in molte presentazioni di Paul (li menziono anche nella mia presentazione dello Scripters Club)
R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Questa forma ciclica del codice che ho pubblicato è già implementata.
Mi chiedevo solo se Python ha questa funzionalità
dt[0,0] = dati[0,0]
Gli esperti hanno affermato che ho visto questi contenuti, ma le mie competenze in inglese sono scarse e le mie conoscenze di programmazione non sono molte.Ancora non risolto.
Se avessi trovato un modo, non avrei dedicato così tanto tempo a scrivere questo post.
Quindi chiedete agli esperti se possono aiutarvi.
R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Quale caratteristica? Indicizzazione della tabella dati e impostazione di tutti i valori della tabella dati dalla matrice?
Puoi impostare tutti i valori con run_jsl
import jmp
file_path = r"C:\Users\jarmo\Downloads\test(1).txt"
data = []
with open(file_path, 'r') as file:
for line in file:
row = line.strip().split('\t')
data.append([float(row[0]), float(row[1])])
jmp.run_jsl("""
m = Python Get(data);
dt = New Table("test",
Add Rows(N Items(m)),
New Column("A"),
New Column("B")
);
dt[0,0] = m
""")R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Grazie Esperti!
dt[0,0] = m
d2[0,0] = ar[0,0]

R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Inoltre, chiedi a un esperto: come concatenare due tabelle JMP con gli stessi nomi di colonna in un ambiente Python?
Vuoi anche chiamare il codice di concatenazione JSL?
Grazie!
R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Controllando rapidamente l'indice degli script, sembra che questa sia l'opzione più semplice.
R: Python scrive i dati dalla memoria a JMP solo in forma circolare?Esempi di questa funzionalità si trovano nello Scripting Index. È anche Python di base, questi oggetti sono stati progettati per comportarsi con la funzionalità che un programmatore Python si aspetterebbe. L'operatore di mappatura dell'oggetto della tabella dati [ ] restituisce un riferimento all'oggetto colonna, che può quindi essere iterato per il valore della riga. La mappatura della tabella dati può assumere sia il 'nome' che l'indice basato su 0. Quindi, dove i e j sono entrambi numeri interi
dt[ i ][ j ] è ancora perfettamente valido.
Come è il seguente
per x in dt:
x[riga] = valore
In questo caso, l'iterazione avviene in dt in ordine, senza dover conoscere né l'indice né il nome della colonna.
La cosa fondamentale da ricordare è che l'oggetto dt è una raccolta di colonne e la colonna è una raccolta di righe, quindi l'indicizzazione è dt[colonna] [riga].
Anche len(dt) restituisce il numero di colonne, così come dt.ncols.
Allo stesso modo len( dt[0] ) restituisce la lunghezza della prima colonna, così come dt.nrows, poiché tutte le colonne hanno la stessa lunghezza.