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

Method populateFile

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

Source from the content-addressed store, hash-verified

1114 self.populateFile()
1115
1116 def populateFile(self):
1117 group = self.h5file.root
1118 # Add some user attrs:
1119 group._v_attrs.attr1 = "an string for root group"
1120 group._v_attrs.attr2 = 124
1121 # Create a tree
1122 for group_i in range(5):
1123 for bgroup_i in range(2):
1124 # Create a new group (brother of group)
1125 group2 = self.h5file.create_group(
1126 group, "bgroup" + str(bgroup_i), filters=None
1127 )
1128
1129 # Create a table
1130 table = self.h5file.create_table(
1131 group2, "table1", Record2, title=self.title, filters=None
1132 )
1133 # Get the record object associated with the new table
1134 d = table.row
1135 # Fill the table
1136 for row_i in range(self.nrows):
1137 d["var1"] = "%04d" % (self.nrows - row_i)
1138 d["var2"] = row_i
1139 d["var3"] = row_i * 2
1140 d.append() # This injects the Record values
1141 # Flush the buffer for this table
1142 table.flush()
1143
1144 # Add some user attrs:
1145 table.attrs.attr1 = "an string"
1146 table.attrs.attr2 = 234
1147
1148 # Create a couple of arrays in each group
1149 var1List = [x["var1"] for x in table.iterrows()]
1150 var3List = [x["var3"] for x in table.iterrows()]
1151
1152 self.h5file.create_array(group2, "array1", var1List, "col 1")
1153 self.h5file.create_array(group2, "array2", var3List, "col 3")
1154
1155 # Create a couple of EArrays as well
1156 ea1 = self.h5file.create_earray(
1157 group2, "earray1", tb.StringAtom(itemsize=4), (0,), "col 1"
1158 )
1159 ea2 = self.h5file.create_earray(
1160 group2, "earray2", tb.Int16Atom(), (0,), "col 3"
1161 )
1162 # Add some user attrs:
1163 ea1.attrs.attr1 = "an string for earray"
1164 ea2.attrs.attr2 = 123
1165 # And fill them with some values
1166 ea1.append(var1List)
1167 ea2.append(var3List)
1168
1169 # Create a new group (descendant of group)
1170 group3 = self.h5file.create_group(
1171 group, "group" + str(group_i), filters=None
1172 )
1173 # Iterate over this new group (group3)

Callers 1

setUpMethod · 0.95

Calls 7

create_groupMethod · 0.80
create_earrayMethod · 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