File tree 3 files changed +13
-0
lines changed
3 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,8 @@ Bug Fixes
39
39
40
40
- Bug in using ``pathlib.Path`` or ``py.path.local`` objects with io functions (:issue:`16291`)
41
41
- Bug in ``DataFrame.update()`` with ``overwrite=False`` and ``NaN values`` (:issue:`15593`)
42
+ - Passing an invalid engine to :func:`read_csv` now raises an informative
43
+ ``ValueError`` rather than ``UnboundLocalError``. (:issue:`16511`)
42
44
- Fixed a compatibility issue with IPython 6.0's tab completion showing deprecation warnings on Categoricals (:issue:`16409`)
43
45
44
46
Conversion
Original file line number Diff line number Diff line change @@ -969,6 +969,10 @@ def _make_engine(self, engine='c'):
969
969
klass = PythonParser
970
970
elif engine == 'python-fwf' :
971
971
klass = FixedWidthFieldParser
972
+ else :
973
+ raise ValueError ('Unknown engine: {engine} (valid options are'
974
+ ' "c", "python", or' ' "python-fwf")' .format (
975
+ engine = engine ))
972
976
self ._engine = klass (self .f , ** self .options )
973
977
974
978
def _failover_to_python (self ):
Original file line number Diff line number Diff line change @@ -141,3 +141,10 @@ def test_next(self):
141
141
assert next_line .strip () == line .strip ()
142
142
143
143
pytest .raises (StopIteration , next , wrapper )
144
+
145
+ def test_unknown_engine (self ):
146
+ with tm .ensure_clean () as path :
147
+ df = tm .makeDataFrame ()
148
+ df .to_csv (path )
149
+ with tm .assert_raises_regex (ValueError , 'Unknown engine' ):
150
+ read_csv (path , engine = 'pyt' )
You can’t perform that action at this time.
0 commit comments