MCPcopy Create free account
hub / github.com/PyTables/PyTables / populateFile

Method populateFile

tables/tests/test_create.py:273–330  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

271 self.populateFile()
272
273 def populateFile(self):
274 group = self.h5file.root
275 # Create a tree with three levels of depth
276 for j in range(5):
277 # Create a table
278 table = self.h5file.create_table(
279 group, "table1", Record2, title=self.title, filters=None
280 )
281 # Get the record object associated with the new table
282 d = table.row
283 # Fill the table
284 for i in range(self.nrows):
285 d["var1"] = "%04d" % (self.nrows - i)
286 d["var2"] = i
287 d["var3"] = i * 2
288 d.append() # This injects the Record values
289 # Flush the buffer for this table
290 table.flush()
291
292 # Create a couple of arrays in each group
293 var1List = [x["var1"] for x in table.iterrows()]
294 var3List = [x["var3"] for x in table.iterrows()]
295
296 self.h5file.create_array(group, "array1", var1List, "col 1")
297 self.h5file.create_array(group, "array2", var3List, "col 3")
298
299 # Create a couple of EArrays as well
300 ea1 = self.h5file.create_earray(
301 group, "earray1", tb.StringAtom(itemsize=4), (0,), "col 1"
302 )
303 ea2 = self.h5file.create_earray(
304 group, "earray2", tb.Int16Atom(), (0,), "col 3"
305 )
306 # And fill them with some values
307 ea1.append(var1List)
308 ea2.append(var3List)
309
310 # Finally a couple of carrays too
311 vla1 = self.h5file.create_carray(
312 group, "carray1", tb.StringAtom(itemsize=4), (2,)
313 )
314 vla2 = self.h5file.create_carray(
315 group, "carray2", tb.Int16Atom(), (2,)
316 )
317
318 # Create a new group (descendant of group)
319 if j == 1: # The second level
320 group2 = self.h5file.create_group(
321 group, "group" + str(j), filters=self.gfilters
322 )
323 elif j == 2: # third level
324 group2 = self.h5file.create_group(group, "group" + str(j))
325 else: # The rest of levels
326 group2 = self.h5file.create_group(
327 group, "group" + str(j), filters=self.filters
328 )
329 # Iterate over this new group (group2)
330 group = group2

Callers 1

setUpMethod · 0.95

Calls 8

create_earrayMethod · 0.80
create_carrayMethod · 0.80
create_groupMethod · 0.80
create_tableMethod · 0.45
appendMethod · 0.45
flushMethod · 0.45
iterrowsMethod · 0.45
create_arrayMethod · 0.45

Tested by

no test coverage detected