Sono nuovo di PyTables e ho implementato alcune tecniche di base per l'inserimento e il recupero dei dati da una tabella in Pytables. Tuttavia, non sono sicuro di come inserire i dati in una tabella esistente di PyTables perché tutto ciò che leggo/ottengo nel tutorial sta creando una nuova tabella (utilizzando il metodo h5file.createTable()
). Ecco il codice di base che esercitazione ha circa l'inserimento dei dati nella tabella PytTables creato da zero:Aggiungi dati alla tabella pytables esistente
h5file = openFile("tutorial1.h5", mode = "w", title = "Test file")
group = h5file.createGroup("/", 'detector', 'Detector information')
table = h5file.createTable(group, 'readout', Particle, "Readout example")
for i in xrange(10):
particle['name'] = 'Particle: %6d' % (i)
particle['TDCcount'] = i % 256
particle['ADCcount'] = (i * 256) % (1 << 16)
particle['grid_i'] = i
particle['grid_j'] = 10 - i
particle['pressure'] = float(i*i)
particle['energy'] = float(particle['pressure'] ** 4)
particle['idnumber'] = i * (2 ** 34)
# Insert a new particle record
particle.append()
table.flush()
P.S. C'è uno place in questo tutorial che parla di accodamento di dati a una tabella esistente, ma utilizza la tabella che è stata creata da zero e in pratica non dà alcuna idea sulla selezione della tabella preesistente per l'aggiunta di dati. Gentilmente aiuto. Grazie.
@khan Qualsiasi successo con questa soluzione? –
Grazie a @Mike, ha funzionato perfettamente su Python 3.5 (con 'range' invece di' xrange') e dovrebbe essere contrassegnato come risposta. Ho leggermente modificato l'esempio per creare il gruppo e la tabella se mancano: https://gist.github.com/berezovskyi/10004d5fcf00a3d4477e – berezovskyi