File tree 2 files changed +15
-23
lines changed
2 files changed +15
-23
lines changed Original file line number Diff line number Diff line change @@ -590,35 +590,26 @@ def __enter__(self):
590
590
def __exit__ (self , exc_type , exc_value , traceback ):
591
591
self .close ()
592
592
593
- def keys (self , kind : Optional [ str ] = "pandas" ) -> List [str ]:
593
+ def keys (self ) -> List [str ]:
594
594
"""
595
595
Return a list of keys corresponding to objects stored in HDFStore.
596
-
597
- Parameters
598
- ----------
599
- kind : str, default 'pandas'
600
- When kind equals 'pandas' return pandas objects
601
- When kind equals 'table' return Table objects
602
- Otherwise fail with a ValueError
596
+ If the store contains pandas native tables, it will return their names.
597
+ Otherwise the list of names of HDF5 Table objects will be returned.
603
598
604
599
Returns
605
600
-------
606
601
list
607
602
List of ABSOLUTE path-names (e.g. have the leading '/').
608
-
609
- Raises
610
- ------
611
- raises ValueError if kind has an illegal value
612
603
"""
613
- if kind == "pandas" :
614
- return [n ._v_pathname for n in self .groups ()]
604
+ # if kind == "pandas":
605
+ objects = [n ._v_pathname for n in self .groups ()]
606
+ if objects :
607
+ return objects
615
608
616
- if kind == "tables" :
617
- self ._check_if_open ()
618
- return [
619
- n ._v_pathname for n in self ._handle .walk_nodes ("/" , classname = "Table" )
620
- ]
621
- raise ValueError (f"`kind` should be either 'pandas' or 'table' but is [{ kind } ]" )
609
+ self ._check_if_open ()
610
+ return [
611
+ n ._v_pathname for n in self ._handle .walk_nodes ("/" , classname = "Table" )
612
+ ]
622
613
623
614
def __iter__ (self ):
624
615
return iter (self .keys ())
Original file line number Diff line number Diff line change @@ -299,6 +299,7 @@ def test_keys(self, setup_path):
299
299
assert set (store ) == expected
300
300
301
301
def test_non_pandas_keys (self , setup_path ):
302
+ # GH 29916
302
303
class Table1 (tables .IsDescription ):
303
304
value1 = tables .Float32Col ()
304
305
@@ -315,10 +316,10 @@ class Table3(tables.IsDescription):
315
316
h5file .create_table (group , "table2" , Table2 , "Table 2" )
316
317
h5file .create_table (group , "table3" , Table3 , "Table 3" )
317
318
with HDFStore (path ) as store :
318
- assert len (store .keys (kind = "tables" )) == 3
319
+ assert len (store .keys ()) == 3
319
320
expected = {"/group/table1" , "/group/table2" , "/group/table3" }
320
- assert set (store .keys (kind = "tables" )) == expected
321
- assert set (store . keys ( kind = "pandas" )) == set ()
321
+ assert set (store .keys ()) == expected
322
+ assert set (store ) == expected
322
323
323
324
def test_keys_ignore_hdf_softlink (self , setup_path ):
324
325
You can’t perform that action at this time.
0 commit comments