def read_hdf5_metadata(key: str, store: pd.HDFStore) -> dict: node = store.get_node(key) metadata = {} for attr_key in set( node._v_attrs.__dict__.keys()) - set(_RESERVED_ATTRIBUTES): metadata[attr_key] = node._f_getattr(attr_key) return metadata
def get_children_paths(self, node_path): s = HDFStore(self.path) node = s.get_node(node_path) children = [] for child, df in node._v_children.items(): children.append(df._v_pathname) s.close() return children
def _get_or_create_node(key: str, store: pd.HDFStore) -> tables.Node: node = None # Get the node try: node = store.get_node(key) except tables.exceptions.NoSuchNodeError as e: logger.warning("Got error: %s", e) # Create the node if node is None: if not key.startswith('/'): key = '/' + key node = _create_node(key, store) assert node is not None return node
def removeDataFrame(dfName): dbName = 'db.h5' s = HDFStore(dbName) if s.get_node(dfName): s.remove(dfName) s.close()