Skip to content

Commit dcdce8a

Browse files
committed
Extract ReadEngine and WriteEngine types for Excel
1 parent c74a250 commit dcdce8a

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

pandas-stubs/_typing.pyi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,4 +780,7 @@ TimeGrouperOrigin: TypeAlias = (
780780
Timestamp | Literal["epoch", "start", "start_day", "end", "end_day"]
781781
)
782782

783+
ExcelReadEngine: TypeAlias = Literal["xlrd", "openpyxl", "odf", "pyxlsb"]
784+
ExcelWriteEngine: TypeAlias = Literal["openpyxl", "odf", "xlsxwriter"]
785+
783786
__all__ = ["npt", "type_t"]

pandas-stubs/io/excel/_base.pyi

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ from pandas._libs.lib import NoDefault
2323
from pandas._typing import (
2424
Dtype,
2525
DtypeBackend,
26+
ExcelReadEngine,
27+
ExcelWriteEngine,
2628
FilePath,
2729
IntStrT,
2830
ListLikeHashable,
@@ -50,7 +52,7 @@ def read_excel(
5052
index_col: int | Sequence[int] | None = ...,
5153
usecols: str | UsecolsArgType = ...,
5254
dtype: str | Dtype | Mapping[str, str | Dtype] | None = ...,
53-
engine: Literal["xlrd", "openpyxl", "odf", "pyxlsb"] | None = ...,
55+
engine: ExcelReadEngine | None = ...,
5456
converters: Mapping[int | str, Callable[[object], object]] | None = ...,
5557
true_values: Iterable[Hashable] | None = ...,
5658
false_values: Iterable[Hashable] | None = ...,
@@ -92,7 +94,7 @@ def read_excel(
9294
index_col: int | Sequence[int] | None = ...,
9395
usecols: str | UsecolsArgType = ...,
9496
dtype: str | Dtype | Mapping[str, str | Dtype] | None = ...,
95-
engine: Literal["xlrd", "openpyxl", "odf", "pyxlsb"] | None = ...,
97+
engine: ExcelReadEngine | None = ...,
9698
converters: Mapping[int | str, Callable[[object], object]] | None = ...,
9799
true_values: Iterable[Hashable] | None = ...,
98100
false_values: Iterable[Hashable] | None = ...,
@@ -135,7 +137,7 @@ def read_excel( # type: ignore[misc]
135137
index_col: int | Sequence[int] | None = ...,
136138
usecols: str | UsecolsArgType = ...,
137139
dtype: str | Dtype | Mapping[str, str | Dtype] | None = ...,
138-
engine: Literal["xlrd", "openpyxl", "odf", "pyxlsb"] | None = ...,
140+
engine: ExcelReadEngine | None = ...,
139141
converters: Mapping[int | str, Callable[[object], object]] | None = ...,
140142
true_values: Iterable[Hashable] | None = ...,
141143
false_values: Iterable[Hashable] | None = ...,
@@ -177,7 +179,7 @@ def read_excel(
177179
index_col: int | Sequence[int] | None = ...,
178180
usecols: str | UsecolsArgType = ...,
179181
dtype: str | Dtype | Mapping[str, str | Dtype] | None = ...,
180-
engine: Literal["xlrd", "openpyxl", "odf", "pyxlsb"] | None = ...,
182+
engine: ExcelReadEngine | None = ...,
181183
converters: Mapping[int | str, Callable[[object], object]] | None = ...,
182184
true_values: Iterable[Hashable] | None = ...,
183185
false_values: Iterable[Hashable] | None = ...,
@@ -206,7 +208,7 @@ class ExcelWriter:
206208
def __init__(
207209
self,
208210
path: FilePath | WriteExcelBuffer | ExcelWriter,
209-
engine: Literal["auto", "openpyxl", "odf", "xlsxwriter"] | None = ...,
211+
engine: ExcelWriteEngine | Literal["auto"] | None = ...,
210212
date_format: str | None = ...,
211213
datetime_format: str | None = ...,
212214
mode: Literal["w", "a"] = ...,
@@ -217,7 +219,7 @@ class ExcelWriter:
217219
@property
218220
def supported_extensions(self) -> tuple[str, ...]: ...
219221
@property
220-
def engine(self) -> Literal["openpyxl", "odf", "xlsxwriter"]: ...
222+
def engine(self) -> ExcelWriteEngine: ...
221223
@property
222224
def sheets(self) -> dict[str, Any]: ...
223225
@property

0 commit comments

Comments
 (0)