Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tables import *
- class Particle(IsDescription):
- identity = StringCol(itemsize=22, dflt=" ", pos=0) # character String
- idnumber = Int16Col(dflt=1, pos = 1) # short integer
- speed = Float32Col(dflt=1, pos = 2) # single-precision
- # Open a file in "w"rite mode
- fileh = open_file("objecttree.h5", mode = "w")
- # Get the HDF5 root group
- root = fileh.root
- # Create the groups
- group1 = fileh.create_group(root, "group1")
- group2 = fileh.create_group(root, "group2")
- # Now, create an array in root group
- array1 = fileh.create_array(root, "array1", ["string", "array"], "String array")
- # Create 2 new tables in group1
- table1 = fileh.create_table(group1, "table1", Particle)
- table2 = fileh.create_table("/group2", "table2", Particle)
- # Create the last table in group2
- array2 = fileh.create_array("/group1", "array2", [1,2,3,4])
- # Now, fill the tables
- for table in (table1, table2):
- # Get the record object associated with the table:
- row = table.row
- # Fill the table with 10 records
- for i in xrange(10):
- # First, assign the values to the Particle record
- row['identity'] = 'This is particle: %2d' % (i)
- row['idnumber'] = i
- row['speed'] = i * 2.
- # This injects the Record values
- row.append()
- # Flush the table buffers
- table.flush()
- # Finally, close the file (this also will flush all the remaining buffers!)
- fileh.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement