Tôi mới dùng PyTables và triển khai một số kỹ thuật cơ bản về chèn và lấy dữ liệu từ bảng trong Pytables. Tuy nhiên, tôi không chắc chắn về cách chèn dữ liệu vào bảng PyTables hiện có vì tất cả những gì tôi đọc/nhận trong tutorial là tạo một bảng mới (sử dụng phương thức h5file.createTable()
). Đây là mã cơ bản mà hướng dẫn có về chèn dữ liệu vào bảng PytTables được tạo từ đầu:Nối dữ liệu vào bảng pytables hiện có
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ó một place trong hướng dẫn này nói về việc thêm dữ liệu vào bảng hiện có, nhưng sử dụng bảng được tạo từ đầu và về cơ bản không có ý tưởng về việc chọn bảng có sẵn để thêm dữ liệu. Giúp đỡ một cách tử tế. Cảm ơn.
@khan Bất kỳ thành công nào với giải pháp này? –
Cảm ơn @Mike, nó làm việc cho tôi một cách hoàn hảo trên Python 3.5 (với 'phạm vi' thay vì' xrange') và phải được đánh dấu là câu trả lời. Tôi đã sửa đổi một chút ví dụ để tạo nhóm và bảng nếu chúng bị thiếu: https://gist.github.com/berezovskyi/10004d5fcf00a3d4477e – berezovskyi