Skip to content

Commit 45f96d9

Browse files
committed
ENH: Allow read_csv(engine=pyarrow) to return ArrowExtensionArray-backed columns
1 parent b0a51fe commit 45f96d9

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

pandas/io/parsers/arrow_parser_wrapper.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from pandas.core.dtypes.inference import is_integer
77

8+
from pandas.core.arrays.arrow import ArrowExtensionArray
89
from pandas.core.frame import DataFrame
910

1011
from pandas.io.parsers.base_parser import ParserBase
@@ -147,6 +148,10 @@ def read(self) -> DataFrame:
147148
parse_options=pyarrow_csv.ParseOptions(**self.parse_options),
148149
convert_options=pyarrow_csv.ConvertOptions(**self.convert_options),
149150
)
150-
151-
frame = table.to_pandas()
151+
frame = DataFrame(
152+
{
153+
column_name: ArrowExtensionArray(array)
154+
for column_name, array in zip(table.column_names, table.itercolumns())
155+
}
156+
)
152157
return self._finalize_output(frame)

0 commit comments

Comments
 (0)