CLN: Remove read_orc dtype checking (#51604) · pandas-dev/pandas@b69bd07 (original) (raw)

Original file line number Diff line number Diff line change
@@ -21,13 +21,6 @@
21 21 )
22 22 from pandas.compat._optional import import_optional_dependency
23 23
24 -from pandas.core.dtypes.common import (
25 -is_categorical_dtype,
26 -is_interval_dtype,
27 -is_period_dtype,
28 -is_unsigned_integer_dtype,
29 -)
30 -
31 24 from pandas.core.arrays import ArrowExtensionArray
32 25 from pandas.core.frame import DataFrame
33 26
@@ -184,22 +177,10 @@ def to_orc(
184 177 if engine_kwargs is None:
185 178 engine_kwargs = {}
186 179
187 -# If unsupported dtypes are found raise NotImplementedError
188 -# In Pyarrow 9.0.0 this check will no longer be needed
189 -for dtype in df.dtypes:
190 -if (
191 -is_categorical_dtype(dtype)
192 -or is_interval_dtype(dtype)
193 -or is_period_dtype(dtype)
194 -or is_unsigned_integer_dtype(dtype)
195 - ):
196 -raise NotImplementedError(
197 -"The dtype of one or more columns is not supported yet."
198 - )
199 -
200 180 if engine != "pyarrow":
201 181 raise ValueError("engine must be 'pyarrow'")
202 182 engine = import_optional_dependency(engine, min_version="7.0.0")
183 +pa = import_optional_dependency("pyarrow")
203 184 orc = import_optional_dependency("pyarrow.orc")
204 185
205 186 was_none = path is None
@@ -214,7 +195,7 @@ def to_orc(
214 195 handles.handle,
215 196 **engine_kwargs,
216 197 )
217 -except TypeError as e:
198 +except (TypeError, pa.ArrowNotImplementedError) as e:
218 199 raise NotImplementedError(
219 200 "The dtype of one or more columns is not supported yet."
220 201 ) from e