Skip to content

Commit 56508fb

Browse files
authored
Revert "CLN: Remove read_orc dtype checking (#51604)" (#51742)
* Revert "CLN: Remove read_orc dtype checking (#51604)" This reverts commit b69bd07. * Only check for 7.0 * FIx regex * Update
1 parent a3ce35a commit 56508fb

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

pandas/io/orc.py

+22
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,16 @@
1919
ReadBuffer,
2020
WriteBuffer,
2121
)
22+
from pandas.compat import pa_version_under8p0
2223
from pandas.compat._optional import import_optional_dependency
2324

25+
from pandas.core.dtypes.common import (
26+
is_categorical_dtype,
27+
is_interval_dtype,
28+
is_period_dtype,
29+
is_unsigned_integer_dtype,
30+
)
31+
2432
from pandas.core.arrays import ArrowExtensionArray
2533
from pandas.core.frame import DataFrame
2634

@@ -201,6 +209,20 @@ def to_orc(
201209
if engine_kwargs is None:
202210
engine_kwargs = {}
203211

212+
# If unsupported dtypes are found raise NotImplementedError
213+
# In Pyarrow 8.0.0 this check will no longer be needed
214+
if pa_version_under8p0:
215+
for dtype in df.dtypes:
216+
if (
217+
is_categorical_dtype(dtype)
218+
or is_interval_dtype(dtype)
219+
or is_period_dtype(dtype)
220+
or is_unsigned_integer_dtype(dtype)
221+
):
222+
raise NotImplementedError(
223+
"The dtype of one or more columns is not supported yet."
224+
)
225+
204226
if engine != "pyarrow":
205227
raise ValueError("engine must be 'pyarrow'")
206228
engine = import_optional_dependency(engine, min_version="7.0.0")

0 commit comments

Comments
 (0)