@@ -9,6 +9,7 @@ from types import TracebackType
9
9
from typing import (
10
10
Any ,
11
11
Literal ,
12
+ TypeAlias ,
12
13
overload ,
13
14
)
14
15
@@ -32,6 +33,8 @@ from pandas._typing import (
32
33
WriteExcelBuffer ,
33
34
)
34
35
36
+ ReadEngine : TypeAlias = Literal ["xlrd" , "openpyxl" , "odf" , "pyxlsb" ]
37
+
35
38
@overload
36
39
def read_excel (
37
40
io : (
@@ -50,7 +53,7 @@ def read_excel(
50
53
index_col : int | Sequence [int ] | None = ...,
51
54
usecols : str | UsecolsArgType = ...,
52
55
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
53
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
56
+ engine : ReadEngine | None = ...,
54
57
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
55
58
true_values : Iterable [Hashable ] | None = ...,
56
59
false_values : Iterable [Hashable ] | None = ...,
@@ -92,7 +95,7 @@ def read_excel(
92
95
index_col : int | Sequence [int ] | None = ...,
93
96
usecols : str | UsecolsArgType = ...,
94
97
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
95
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
98
+ engine : ReadEngine | None = ...,
96
99
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
97
100
true_values : Iterable [Hashable ] | None = ...,
98
101
false_values : Iterable [Hashable ] | None = ...,
@@ -135,7 +138,7 @@ def read_excel( # type: ignore[misc]
135
138
index_col : int | Sequence [int ] | None = ...,
136
139
usecols : str | UsecolsArgType = ...,
137
140
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
138
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
141
+ engine : ReadEngine | None = ...,
139
142
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
140
143
true_values : Iterable [Hashable ] | None = ...,
141
144
false_values : Iterable [Hashable ] | None = ...,
@@ -177,7 +180,7 @@ def read_excel(
177
180
index_col : int | Sequence [int ] | None = ...,
178
181
usecols : str | UsecolsArgType = ...,
179
182
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
180
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
183
+ engine : ReadEngine | None = ...,
181
184
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
182
185
true_values : Iterable [Hashable ] | None = ...,
183
186
false_values : Iterable [Hashable ] | None = ...,
@@ -202,11 +205,14 @@ def read_excel(
202
205
dtype_backend : DtypeBackend | NoDefault = ...,
203
206
) -> DataFrame : ...
204
207
208
+
209
+ WriteEngine : TypeAlias = Literal ["openpyxl" , "odf" , "xlsxwriter" ]
210
+
205
211
class ExcelWriter :
206
212
def __init__ (
207
213
self ,
208
214
path : FilePath | WriteExcelBuffer | ExcelWriter ,
209
- engine : Literal ["auto" , "openpyxl" , "odf" , "xlsxwriter " ] | None = ...,
215
+ engine : WriteEngine | Literal ["auto" ] | None = ...,
210
216
date_format : str | None = ...,
211
217
datetime_format : str | None = ...,
212
218
mode : Literal ["w" , "a" ] = ...,
@@ -217,7 +223,7 @@ class ExcelWriter:
217
223
@property
218
224
def supported_extensions (self ) -> tuple [str , ...]: ...
219
225
@property
220
- def engine (self ) -> Literal [ "openpyxl" , "odf" , "xlsxwriter" ] : ...
226
+ def engine (self ) -> WriteEngine : ...
221
227
@property
222
228
def sheets (self ) -> dict [str , Any ]: ...
223
229
@property
0 commit comments