Skip to content

Commit 632a47d

Browse files
committed
fixup! ENH: Support fspath protocol
1 parent d6cb017 commit 632a47d

File tree

2 files changed

+11
-14
lines changed

2 files changed

+11
-14
lines changed

pandas/io/pytables.py

+7-11
Original file line numberDiff line numberDiff line change
@@ -317,8 +317,9 @@ def read_hdf(path_or_buf, key=None, **kwargs):
317317
auto_close = False
318318
else:
319319
path_or_buf = _stringify_path(path_or_buf)
320-
321-
if isinstance(path_or_buf, (HDFStore, string_types)):
320+
if not isinstance(path_or_buf, string_types):
321+
raise NotImplementedError('Support for generic buffers has not been '
322+
'implemented.')
322323
try:
323324
exists = os.path.exists(path_or_buf)
324325

@@ -330,15 +331,10 @@ def read_hdf(path_or_buf, key=None, **kwargs):
330331
raise compat.FileNotFoundError(
331332
'File %s does not exist' % path_or_buf)
332333

333-
if isinstance(path_or_buf, string_types):
334-
store = HDFStore(path_or_buf, **kwargs)
335-
# can't auto open/close if we are using an iterator
336-
# so delegate to the iterator
337-
auto_close = True
338-
339-
else:
340-
raise NotImplementedError('Support for generic buffers has not been '
341-
'implemented.')
334+
store = HDFStore(path_or_buf, **kwargs)
335+
# can't auto open/close if we are using an iterator
336+
# so delegate to the iterator
337+
auto_close = True
342338

343339
try:
344340
if key is None:

pandas/tests/io/test_pytables.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
date_range, timedelta_range, Index, DatetimeIndex,
1717
isnull)
1818

19-
from pandas.compat import is_platform_windows, PY3, PY35
19+
from pandas.compat import is_platform_windows, PY3, PY35, BytesIO
2020
from pandas.io.formats.printing import pprint_thing
2121

2222
tables = pytest.importorskip('tables')
@@ -5007,8 +5007,9 @@ def test_read_hdf_errors(self):
50075007
store = HDFStore(path, mode='r')
50085008
store.close()
50095009
pytest.raises(IOError, read_hdf, store, 'df')
5010-
with open(path, mode='r') as store:
5011-
pytest.raises(NotImplementedError, read_hdf, store, 'df')
5010+
5011+
def test_read_hdf_generic_buffer_errors(self):
5012+
pytest.raises(NotImplementedError, read_hdf, BytesIO(b''), 'df')
50125013

50135014
def test_invalid_complib(self):
50145015
df = DataFrame(np.random.rand(4, 5),

0 commit comments

Comments
 (0)